summaryrefslogtreecommitdiffstats
path: root/src/Registries/BlockStates.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Registries/BlockStates.h')
-rw-r--r--src/Registries/BlockStates.h25485
1 files changed, 25485 insertions, 0 deletions
diff --git a/src/Registries/BlockStates.h b/src/Registries/BlockStates.h
new file mode 100644
index 000000000..4419fc896
--- /dev/null
+++ b/src/Registries/BlockStates.h
@@ -0,0 +1,25485 @@
+#pragma once
+
+#include "Globals.h"
+#include "BlockState.h"
+#include "Defines.h"
+
+namespace Block
+{
+ namespace AcaciaButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState AcaciaButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6442;
+ else return 6443;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6444;
+ else return 6445;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6446;
+ else return 6447;
+ else
+ if (Powered) return 6448;
+ else return 6449;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6450;
+ else return 6451;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6452;
+ else return 6453;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6454;
+ else return 6455;
+ else
+ if (Powered) return 6456;
+ else return 6457;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6458;
+ else return 6459;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6460;
+ else return 6461;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6462;
+ else return 6463;
+ else
+ if (Powered) return 6464;
+ else return 6465;
+ }
+ BlockState AcaciaButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace AcaciaDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState AcaciaDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8930;
+ else return 8931;
+ else
+ if (Powered) return 8932;
+ else return 8933;
+ else
+ if (Open)
+ if (Powered) return 8934;
+ else return 8935;
+ else
+ if (Powered) return 8936;
+ else return 8937;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8938;
+ else return 8939;
+ else
+ if (Powered) return 8940;
+ else return 8941;
+ else
+ if (Open)
+ if (Powered) return 8942;
+ else return 8943;
+ else
+ if (Powered) return 8944;
+ else return 8945;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8946;
+ else return 8947;
+ else
+ if (Powered) return 8948;
+ else return 8949;
+ else
+ if (Open)
+ if (Powered) return 8950;
+ else return 8951;
+ else
+ if (Powered) return 8952;
+ else return 8953;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8954;
+ else return 8955;
+ else
+ if (Powered) return 8956;
+ else return 8957;
+ else
+ if (Open)
+ if (Powered) return 8958;
+ else return 8959;
+ else
+ if (Powered) return 8960;
+ else return 8961;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8962;
+ else return 8963;
+ else
+ if (Powered) return 8964;
+ else return 8965;
+ else
+ if (Open)
+ if (Powered) return 8966;
+ else return 8967;
+ else
+ if (Powered) return 8968;
+ else return 8969;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8970;
+ else return 8971;
+ else
+ if (Powered) return 8972;
+ else return 8973;
+ else
+ if (Open)
+ if (Powered) return 8974;
+ else return 8975;
+ else
+ if (Powered) return 8976;
+ else return 8977;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8978;
+ else return 8979;
+ else
+ if (Powered) return 8980;
+ else return 8981;
+ else
+ if (Open)
+ if (Powered) return 8982;
+ else return 8983;
+ else
+ if (Powered) return 8984;
+ else return 8985;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8986;
+ else return 8987;
+ else
+ if (Powered) return 8988;
+ else return 8989;
+ else
+ if (Open)
+ if (Powered) return 8990;
+ else return 8991;
+ else
+ if (Powered) return 8992;
+ else return 8993;
+ }
+ BlockState AcaciaDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace AcaciaFence
+ {
+ constexpr BlockState AcaciaFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 8676;
+ else return 8677;
+ else
+ if (West) return 8680;
+ else return 8681;
+ else
+ if (South)
+ if (West) return 8684;
+ else return 8685;
+ else
+ if (West) return 8688;
+ else return 8689;
+ else
+ if (North)
+ if (South)
+ if (West) return 8692;
+ else return 8693;
+ else
+ if (West) return 8696;
+ else return 8697;
+ else
+ if (South)
+ if (West) return 8700;
+ else return 8701;
+ else
+ if (West) return 8704;
+ else return 8705;
+ }
+ BlockState AcaciaFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace AcaciaFenceGate
+ {
+ constexpr BlockState AcaciaFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8514;
+ else return 8515;
+ else
+ if (Powered) return 8516;
+ else return 8517;
+ else
+ if (Open)
+ if (Powered) return 8518;
+ else return 8519;
+ else
+ if (Powered) return 8520;
+ else return 8521;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8522;
+ else return 8523;
+ else
+ if (Powered) return 8524;
+ else return 8525;
+ else
+ if (Open)
+ if (Powered) return 8526;
+ else return 8527;
+ else
+ if (Powered) return 8528;
+ else return 8529;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8530;
+ else return 8531;
+ else
+ if (Powered) return 8532;
+ else return 8533;
+ else
+ if (Open)
+ if (Powered) return 8534;
+ else return 8535;
+ else
+ if (Powered) return 8536;
+ else return 8537;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 8538;
+ else return 8539;
+ else
+ if (Powered) return 8540;
+ else return 8541;
+ else
+ if (Open)
+ if (Powered) return 8542;
+ else return 8543;
+ else
+ if (Powered) return 8544;
+ else return 8545;
+ }
+ BlockState AcaciaFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace AcaciaLeaves
+ {
+ constexpr BlockState AcaciaLeaves(const unsigned char Distance, const bool Persistent)
+ {
+ if (Distance == 1)
+ if (Persistent) return 201;
+ else return 202;
+ else if (Distance == 2)
+ if (Persistent) return 203;
+ else return 204;
+ else if (Distance == 3)
+ if (Persistent) return 205;
+ else return 206;
+ else if (Distance == 4)
+ if (Persistent) return 207;
+ else return 208;
+ else if (Distance == 5)
+ if (Persistent) return 209;
+ else return 210;
+ else if (Distance == 6)
+ if (Persistent) return 211;
+ else return 212;
+ else
+ if (Persistent) return 213;
+ else return 214;
+ }
+ BlockState AcaciaLeaves();
+ unsigned char Distance(BlockState Block);
+ bool Persistent(BlockState Block);
+ }
+ namespace AcaciaLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState AcaciaLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 85;
+ else if (Axis == Axis::Y) return 86;
+ else return 87;
+ }
+ BlockState AcaciaLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace AcaciaPlanks
+ {
+ constexpr BlockState AcaciaPlanks()
+ {
+ return 19;
+ }
+ }
+ namespace AcaciaPressurePlate
+ {
+ constexpr BlockState AcaciaPressurePlate(const bool Powered)
+ {
+ if (Powered) return 3881;
+ else return 3882;
+ }
+ BlockState AcaciaPressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace AcaciaSapling
+ {
+ constexpr BlockState AcaciaSapling(const unsigned char Stage)
+ {
+ if (Stage == 0) return 29;
+ else return 30;
+ }
+ BlockState AcaciaSapling();
+ unsigned char Stage(BlockState Block);
+ }
+ namespace AcaciaSign
+ {
+ constexpr BlockState AcaciaSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 3478;
+ else if (Rotation == 1) return 3480;
+ else if (Rotation == 2) return 3482;
+ else if (Rotation == 3) return 3484;
+ else if (Rotation == 4) return 3486;
+ else if (Rotation == 5) return 3488;
+ else if (Rotation == 6) return 3490;
+ else if (Rotation == 7) return 3492;
+ else if (Rotation == 8) return 3494;
+ else if (Rotation == 9) return 3496;
+ else if (Rotation == 10) return 3498;
+ else if (Rotation == 11) return 3500;
+ else if (Rotation == 12) return 3502;
+ else if (Rotation == 13) return 3504;
+ else if (Rotation == 14) return 3506;
+ else return 3508;
+ }
+ BlockState AcaciaSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace AcaciaSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState AcaciaSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8325;
+ else if (Type == Type::Bottom) return 8327;
+ else return 8329;
+ }
+ BlockState AcaciaSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace AcaciaStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState AcaciaStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7376;
+ else if (Shape == Shape::InnerLeft) return 7378;
+ else if (Shape == Shape::InnerRight) return 7380;
+ else if (Shape == Shape::OuterLeft) return 7382;
+ else return 7384;
+ else
+ if (Shape == Shape::Straight) return 7386;
+ else if (Shape == Shape::InnerLeft) return 7388;
+ else if (Shape == Shape::InnerRight) return 7390;
+ else if (Shape == Shape::OuterLeft) return 7392;
+ else return 7394;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7396;
+ else if (Shape == Shape::InnerLeft) return 7398;
+ else if (Shape == Shape::InnerRight) return 7400;
+ else if (Shape == Shape::OuterLeft) return 7402;
+ else return 7404;
+ else
+ if (Shape == Shape::Straight) return 7406;
+ else if (Shape == Shape::InnerLeft) return 7408;
+ else if (Shape == Shape::InnerRight) return 7410;
+ else if (Shape == Shape::OuterLeft) return 7412;
+ else return 7414;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7416;
+ else if (Shape == Shape::InnerLeft) return 7418;
+ else if (Shape == Shape::InnerRight) return 7420;
+ else if (Shape == Shape::OuterLeft) return 7422;
+ else return 7424;
+ else
+ if (Shape == Shape::Straight) return 7426;
+ else if (Shape == Shape::InnerLeft) return 7428;
+ else if (Shape == Shape::InnerRight) return 7430;
+ else if (Shape == Shape::OuterLeft) return 7432;
+ else return 7434;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7436;
+ else if (Shape == Shape::InnerLeft) return 7438;
+ else if (Shape == Shape::InnerRight) return 7440;
+ else if (Shape == Shape::OuterLeft) return 7442;
+ else return 7444;
+ else
+ if (Shape == Shape::Straight) return 7446;
+ else if (Shape == Shape::InnerLeft) return 7448;
+ else if (Shape == Shape::InnerRight) return 7450;
+ else if (Shape == Shape::OuterLeft) return 7452;
+ else return 7454;
+ }
+ BlockState AcaciaStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace AcaciaTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState AcaciaTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4368;
+ else return 4370;
+ else
+ if (Powered) return 4372;
+ else return 4374;
+ else
+ if (Open)
+ if (Powered) return 4376;
+ else return 4378;
+ else
+ if (Powered) return 4380;
+ else return 4382;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4384;
+ else return 4386;
+ else
+ if (Powered) return 4388;
+ else return 4390;
+ else
+ if (Open)
+ if (Powered) return 4392;
+ else return 4394;
+ else
+ if (Powered) return 4396;
+ else return 4398;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4400;
+ else return 4402;
+ else
+ if (Powered) return 4404;
+ else return 4406;
+ else
+ if (Open)
+ if (Powered) return 4408;
+ else return 4410;
+ else
+ if (Powered) return 4412;
+ else return 4414;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4416;
+ else return 4418;
+ else
+ if (Powered) return 4420;
+ else return 4422;
+ else
+ if (Open)
+ if (Powered) return 4424;
+ else return 4426;
+ else
+ if (Powered) return 4428;
+ else return 4430;
+ }
+ BlockState AcaciaTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace AcaciaWallSign
+ {
+ constexpr BlockState AcaciaWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3760;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3762;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3764;
+ else return 3766;
+ }
+ BlockState AcaciaWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace AcaciaWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState AcaciaWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 121;
+ else if (Axis == Axis::Y) return 122;
+ else return 123;
+ }
+ BlockState AcaciaWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace ActivatorRail
+ {
+ enum class Shape
+ {
+ NorthSouth,
+ EastWest,
+ AscendingEast,
+ AscendingWest,
+ AscendingNorth,
+ AscendingSouth
+ };
+ constexpr BlockState ActivatorRail(const bool Powered, const enum Shape Shape)
+ {
+ if (Powered)
+ if (Shape == Shape::NorthSouth) return 6823;
+ else if (Shape == Shape::EastWest) return 6824;
+ else if (Shape == Shape::AscendingEast) return 6825;
+ else if (Shape == Shape::AscendingWest) return 6826;
+ else if (Shape == Shape::AscendingNorth) return 6827;
+ else return 6828;
+ else
+ if (Shape == Shape::NorthSouth) return 6829;
+ else if (Shape == Shape::EastWest) return 6830;
+ else if (Shape == Shape::AscendingEast) return 6831;
+ else if (Shape == Shape::AscendingWest) return 6832;
+ else if (Shape == Shape::AscendingNorth) return 6833;
+ else return 6834;
+ }
+ BlockState ActivatorRail();
+ bool Powered(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace Air
+ {
+ constexpr BlockState Air()
+ {
+ return -0;
+ }
+ }
+ namespace Allium
+ {
+ constexpr BlockState Allium()
+ {
+ return 1415;
+ }
+ }
+ namespace AncientDebris
+ {
+ constexpr BlockState AncientDebris()
+ {
+ return 15827;
+ }
+ }
+ namespace Andesite
+ {
+ constexpr BlockState Andesite()
+ {
+ return 6;
+ }
+ }
+ namespace AndesiteSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState AndesiteSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10844;
+ else if (Type == Type::Bottom) return 10846;
+ else return 10848;
+ }
+ BlockState AndesiteSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace AndesiteStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState AndesiteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10470;
+ else if (Shape == Shape::InnerLeft) return 10472;
+ else if (Shape == Shape::InnerRight) return 10474;
+ else if (Shape == Shape::OuterLeft) return 10476;
+ else return 10478;
+ else
+ if (Shape == Shape::Straight) return 10480;
+ else if (Shape == Shape::InnerLeft) return 10482;
+ else if (Shape == Shape::InnerRight) return 10484;
+ else if (Shape == Shape::OuterLeft) return 10486;
+ else return 10488;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10490;
+ else if (Shape == Shape::InnerLeft) return 10492;
+ else if (Shape == Shape::InnerRight) return 10494;
+ else if (Shape == Shape::OuterLeft) return 10496;
+ else return 10498;
+ else
+ if (Shape == Shape::Straight) return 10500;
+ else if (Shape == Shape::InnerLeft) return 10502;
+ else if (Shape == Shape::InnerRight) return 10504;
+ else if (Shape == Shape::OuterLeft) return 10506;
+ else return 10508;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10510;
+ else if (Shape == Shape::InnerLeft) return 10512;
+ else if (Shape == Shape::InnerRight) return 10514;
+ else if (Shape == Shape::OuterLeft) return 10516;
+ else return 10518;
+ else
+ if (Shape == Shape::Straight) return 10520;
+ else if (Shape == Shape::InnerLeft) return 10522;
+ else if (Shape == Shape::InnerRight) return 10524;
+ else if (Shape == Shape::OuterLeft) return 10526;
+ else return 10528;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10530;
+ else if (Shape == Shape::InnerLeft) return 10532;
+ else if (Shape == Shape::InnerRight) return 10534;
+ else if (Shape == Shape::OuterLeft) return 10536;
+ else return 10538;
+ else
+ if (Shape == Shape::Straight) return 10540;
+ else if (Shape == Shape::InnerLeft) return 10542;
+ else if (Shape == Shape::InnerRight) return 10544;
+ else if (Shape == Shape::OuterLeft) return 10546;
+ else return 10548;
+ }
+ BlockState AndesiteStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace AndesiteWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState AndesiteWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13138;
+ else if (West == West::Low) return 13139;
+ else return 13140;
+ else
+ if (West == West::None) return 13144;
+ else if (West == West::Low) return 13145;
+ else return 13146;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13150;
+ else if (West == West::Low) return 13151;
+ else return 13152;
+ else
+ if (West == West::None) return 13156;
+ else if (West == West::Low) return 13157;
+ else return 13158;
+ else
+ if (Up)
+ if (West == West::None) return 13162;
+ else if (West == West::Low) return 13163;
+ else return 13164;
+ else
+ if (West == West::None) return 13168;
+ else if (West == West::Low) return 13169;
+ else return 13170;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13174;
+ else if (West == West::Low) return 13175;
+ else return 13176;
+ else
+ if (West == West::None) return 13180;
+ else if (West == West::Low) return 13181;
+ else return 13182;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13186;
+ else if (West == West::Low) return 13187;
+ else return 13188;
+ else
+ if (West == West::None) return 13192;
+ else if (West == West::Low) return 13193;
+ else return 13194;
+ else
+ if (Up)
+ if (West == West::None) return 13198;
+ else if (West == West::Low) return 13199;
+ else return 13200;
+ else
+ if (West == West::None) return 13204;
+ else if (West == West::Low) return 13205;
+ else return 13206;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13210;
+ else if (West == West::Low) return 13211;
+ else return 13212;
+ else
+ if (West == West::None) return 13216;
+ else if (West == West::Low) return 13217;
+ else return 13218;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13222;
+ else if (West == West::Low) return 13223;
+ else return 13224;
+ else
+ if (West == West::None) return 13228;
+ else if (West == West::Low) return 13229;
+ else return 13230;
+ else
+ if (Up)
+ if (West == West::None) return 13234;
+ else if (West == West::Low) return 13235;
+ else return 13236;
+ else
+ if (West == West::None) return 13240;
+ else if (West == West::Low) return 13241;
+ else return 13242;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13246;
+ else if (West == West::Low) return 13247;
+ else return 13248;
+ else
+ if (West == West::None) return 13252;
+ else if (West == West::Low) return 13253;
+ else return 13254;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13258;
+ else if (West == West::Low) return 13259;
+ else return 13260;
+ else
+ if (West == West::None) return 13264;
+ else if (West == West::Low) return 13265;
+ else return 13266;
+ else
+ if (Up)
+ if (West == West::None) return 13270;
+ else if (West == West::Low) return 13271;
+ else return 13272;
+ else
+ if (West == West::None) return 13276;
+ else if (West == West::Low) return 13277;
+ else return 13278;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13282;
+ else if (West == West::Low) return 13283;
+ else return 13284;
+ else
+ if (West == West::None) return 13288;
+ else if (West == West::Low) return 13289;
+ else return 13290;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13294;
+ else if (West == West::Low) return 13295;
+ else return 13296;
+ else
+ if (West == West::None) return 13300;
+ else if (West == West::Low) return 13301;
+ else return 13302;
+ else
+ if (Up)
+ if (West == West::None) return 13306;
+ else if (West == West::Low) return 13307;
+ else return 13308;
+ else
+ if (West == West::None) return 13312;
+ else if (West == West::Low) return 13313;
+ else return 13314;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13318;
+ else if (West == West::Low) return 13319;
+ else return 13320;
+ else
+ if (West == West::None) return 13324;
+ else if (West == West::Low) return 13325;
+ else return 13326;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13330;
+ else if (West == West::Low) return 13331;
+ else return 13332;
+ else
+ if (West == West::None) return 13336;
+ else if (West == West::Low) return 13337;
+ else return 13338;
+ else
+ if (Up)
+ if (West == West::None) return 13342;
+ else if (West == West::Low) return 13343;
+ else return 13344;
+ else
+ if (West == West::None) return 13348;
+ else if (West == West::Low) return 13349;
+ else return 13350;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13354;
+ else if (West == West::Low) return 13355;
+ else return 13356;
+ else
+ if (West == West::None) return 13360;
+ else if (West == West::Low) return 13361;
+ else return 13362;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13366;
+ else if (West == West::Low) return 13367;
+ else return 13368;
+ else
+ if (West == West::None) return 13372;
+ else if (West == West::Low) return 13373;
+ else return 13374;
+ else
+ if (Up)
+ if (West == West::None) return 13378;
+ else if (West == West::Low) return 13379;
+ else return 13380;
+ else
+ if (West == West::None) return 13384;
+ else if (West == West::Low) return 13385;
+ else return 13386;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13390;
+ else if (West == West::Low) return 13391;
+ else return 13392;
+ else
+ if (West == West::None) return 13396;
+ else if (West == West::Low) return 13397;
+ else return 13398;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13402;
+ else if (West == West::Low) return 13403;
+ else return 13404;
+ else
+ if (West == West::None) return 13408;
+ else if (West == West::Low) return 13409;
+ else return 13410;
+ else
+ if (Up)
+ if (West == West::None) return 13414;
+ else if (West == West::Low) return 13415;
+ else return 13416;
+ else
+ if (West == West::None) return 13420;
+ else if (West == West::Low) return 13421;
+ else return 13422;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13426;
+ else if (West == West::Low) return 13427;
+ else return 13428;
+ else
+ if (West == West::None) return 13432;
+ else if (West == West::Low) return 13433;
+ else return 13434;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13438;
+ else if (West == West::Low) return 13439;
+ else return 13440;
+ else
+ if (West == West::None) return 13444;
+ else if (West == West::Low) return 13445;
+ else return 13446;
+ else
+ if (Up)
+ if (West == West::None) return 13450;
+ else if (West == West::Low) return 13451;
+ else return 13452;
+ else
+ if (West == West::None) return 13456;
+ else if (West == West::Low) return 13457;
+ else return 13458;
+ }
+ BlockState AndesiteWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Anvil
+ {
+ constexpr BlockState Anvil(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6610;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6611;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6612;
+ else return 6613;
+ }
+ BlockState Anvil();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace AttachedMelonStem
+ {
+ constexpr BlockState AttachedMelonStem(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4768;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4769;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4770;
+ else return 4771;
+ }
+ BlockState AttachedMelonStem();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace AttachedPumpkinStem
+ {
+ constexpr BlockState AttachedPumpkinStem(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4764;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4765;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4766;
+ else return 4767;
+ }
+ BlockState AttachedPumpkinStem();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace AzureBluet
+ {
+ constexpr BlockState AzureBluet()
+ {
+ return 1416;
+ }
+ }
+ namespace Bamboo
+ {
+ enum class Leaves
+ {
+ None,
+ Small,
+ Large
+ };
+ constexpr BlockState Bamboo(const unsigned char Age, const enum Leaves Leaves, const unsigned char Stage)
+ {
+ if (Age == 0)
+ if (Leaves == Leaves::None)
+ if (Stage == 0) return 9652;
+ else return 9653;
+ else if (Leaves == Leaves::Small)
+ if (Stage == 0) return 9654;
+ else return 9655;
+ else
+ if (Stage == 0) return 9656;
+ else return 9657;
+ else
+ if (Leaves == Leaves::None)
+ if (Stage == 0) return 9658;
+ else return 9659;
+ else if (Leaves == Leaves::Small)
+ if (Stage == 0) return 9660;
+ else return 9661;
+ else
+ if (Stage == 0) return 9662;
+ else return 9663;
+ }
+ BlockState Bamboo();
+ unsigned char Age(BlockState Block);
+ enum Leaves Leaves(BlockState Block);
+ unsigned char Stage(BlockState Block);
+ }
+ namespace BambooSapling
+ {
+ constexpr BlockState BambooSapling()
+ {
+ return 9651;
+ }
+ }
+ namespace Barrel
+ {
+ constexpr BlockState Barrel(const eBlockFace Facing, const bool Open)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Open) return 14791;
+ else return 14792;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP)
+ if (Open) return 14793;
+ else return 14794;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Open) return 14795;
+ else return 14796;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Open) return 14797;
+ else return 14798;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP)
+ if (Open) return 14799;
+ else return 14800;
+ else
+ if (Open) return 14801;
+ else return 14802;
+ }
+ BlockState Barrel();
+ eBlockFace Facing(BlockState Block);
+ bool Open(BlockState Block);
+ }
+ namespace Barrier
+ {
+ constexpr BlockState Barrier()
+ {
+ return 7536;
+ }
+ }
+ namespace Basalt
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState Basalt(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 4002;
+ else if (Axis == Axis::Y) return 4003;
+ else return 4004;
+ }
+ BlockState Basalt();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace Beacon
+ {
+ constexpr BlockState Beacon()
+ {
+ return 5656;
+ }
+ }
+ namespace Bedrock
+ {
+ constexpr BlockState Bedrock()
+ {
+ return 33;
+ }
+ }
+ namespace BeeNest
+ {
+ constexpr BlockState BeeNest(const eBlockFace Facing, const unsigned char HoneyLevel)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (HoneyLevel == 0) return 15776;
+ else if (HoneyLevel == 1) return 15777;
+ else if (HoneyLevel == 2) return 15778;
+ else if (HoneyLevel == 3) return 15779;
+ else if (HoneyLevel == 4) return 15780;
+ else return 15781;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (HoneyLevel == 0) return 15782;
+ else if (HoneyLevel == 1) return 15783;
+ else if (HoneyLevel == 2) return 15784;
+ else if (HoneyLevel == 3) return 15785;
+ else if (HoneyLevel == 4) return 15786;
+ else return 15787;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (HoneyLevel == 0) return 15788;
+ else if (HoneyLevel == 1) return 15789;
+ else if (HoneyLevel == 2) return 15790;
+ else if (HoneyLevel == 3) return 15791;
+ else if (HoneyLevel == 4) return 15792;
+ else return 15793;
+ else
+ if (HoneyLevel == 0) return 15794;
+ else if (HoneyLevel == 1) return 15795;
+ else if (HoneyLevel == 2) return 15796;
+ else if (HoneyLevel == 3) return 15797;
+ else if (HoneyLevel == 4) return 15798;
+ else return 15799;
+ }
+ BlockState BeeNest();
+ eBlockFace Facing(BlockState Block);
+ unsigned char HoneyLevel(BlockState Block);
+ }
+ namespace Beehive
+ {
+ constexpr BlockState Beehive(const eBlockFace Facing, const unsigned char HoneyLevel)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (HoneyLevel == 0) return 15800;
+ else if (HoneyLevel == 1) return 15801;
+ else if (HoneyLevel == 2) return 15802;
+ else if (HoneyLevel == 3) return 15803;
+ else if (HoneyLevel == 4) return 15804;
+ else return 15805;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (HoneyLevel == 0) return 15806;
+ else if (HoneyLevel == 1) return 15807;
+ else if (HoneyLevel == 2) return 15808;
+ else if (HoneyLevel == 3) return 15809;
+ else if (HoneyLevel == 4) return 15810;
+ else return 15811;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (HoneyLevel == 0) return 15812;
+ else if (HoneyLevel == 1) return 15813;
+ else if (HoneyLevel == 2) return 15814;
+ else if (HoneyLevel == 3) return 15815;
+ else if (HoneyLevel == 4) return 15816;
+ else return 15817;
+ else
+ if (HoneyLevel == 0) return 15818;
+ else if (HoneyLevel == 1) return 15819;
+ else if (HoneyLevel == 2) return 15820;
+ else if (HoneyLevel == 3) return 15821;
+ else if (HoneyLevel == 4) return 15822;
+ else return 15823;
+ }
+ BlockState Beehive();
+ eBlockFace Facing(BlockState Block);
+ unsigned char HoneyLevel(BlockState Block);
+ }
+ namespace Beetroots
+ {
+ constexpr BlockState Beetroots(const unsigned char Age)
+ {
+ if (Age == 0) return 9219;
+ else if (Age == 1) return 9220;
+ else if (Age == 2) return 9221;
+ else return 9222;
+ }
+ BlockState Beetroots();
+ unsigned char Age(BlockState Block);
+ }
+ namespace Bell
+ {
+ enum class Attachment
+ {
+ Floor,
+ Ceiling,
+ SingleWall,
+ DoubleWall
+ };
+ constexpr BlockState Bell(const enum Attachment Attachment, const eBlockFace Facing, const bool Powered)
+ {
+ if (Attachment == Attachment::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 14854;
+ else return 14855;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 14856;
+ else return 14857;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 14858;
+ else return 14859;
+ else
+ if (Powered) return 14860;
+ else return 14861;
+ else if (Attachment == Attachment::Ceiling)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 14862;
+ else return 14863;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 14864;
+ else return 14865;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 14866;
+ else return 14867;
+ else
+ if (Powered) return 14868;
+ else return 14869;
+ else if (Attachment == Attachment::SingleWall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 14870;
+ else return 14871;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 14872;
+ else return 14873;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 14874;
+ else return 14875;
+ else
+ if (Powered) return 14876;
+ else return 14877;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 14878;
+ else return 14879;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 14880;
+ else return 14881;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 14882;
+ else return 14883;
+ else
+ if (Powered) return 14884;
+ else return 14885;
+ }
+ BlockState Bell();
+ enum Attachment Attachment(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace BirchButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState BirchButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6394;
+ else return 6395;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6396;
+ else return 6397;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6398;
+ else return 6399;
+ else
+ if (Powered) return 6400;
+ else return 6401;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6402;
+ else return 6403;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6404;
+ else return 6405;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6406;
+ else return 6407;
+ else
+ if (Powered) return 6408;
+ else return 6409;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6410;
+ else return 6411;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6412;
+ else return 6413;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6414;
+ else return 6415;
+ else
+ if (Powered) return 6416;
+ else return 6417;
+ }
+ BlockState BirchButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace BirchDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState BirchDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8802;
+ else return 8803;
+ else
+ if (Powered) return 8804;
+ else return 8805;
+ else
+ if (Open)
+ if (Powered) return 8806;
+ else return 8807;
+ else
+ if (Powered) return 8808;
+ else return 8809;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8810;
+ else return 8811;
+ else
+ if (Powered) return 8812;
+ else return 8813;
+ else
+ if (Open)
+ if (Powered) return 8814;
+ else return 8815;
+ else
+ if (Powered) return 8816;
+ else return 8817;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8818;
+ else return 8819;
+ else
+ if (Powered) return 8820;
+ else return 8821;
+ else
+ if (Open)
+ if (Powered) return 8822;
+ else return 8823;
+ else
+ if (Powered) return 8824;
+ else return 8825;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8826;
+ else return 8827;
+ else
+ if (Powered) return 8828;
+ else return 8829;
+ else
+ if (Open)
+ if (Powered) return 8830;
+ else return 8831;
+ else
+ if (Powered) return 8832;
+ else return 8833;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8834;
+ else return 8835;
+ else
+ if (Powered) return 8836;
+ else return 8837;
+ else
+ if (Open)
+ if (Powered) return 8838;
+ else return 8839;
+ else
+ if (Powered) return 8840;
+ else return 8841;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8842;
+ else return 8843;
+ else
+ if (Powered) return 8844;
+ else return 8845;
+ else
+ if (Open)
+ if (Powered) return 8846;
+ else return 8847;
+ else
+ if (Powered) return 8848;
+ else return 8849;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8850;
+ else return 8851;
+ else
+ if (Powered) return 8852;
+ else return 8853;
+ else
+ if (Open)
+ if (Powered) return 8854;
+ else return 8855;
+ else
+ if (Powered) return 8856;
+ else return 8857;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8858;
+ else return 8859;
+ else
+ if (Powered) return 8860;
+ else return 8861;
+ else
+ if (Open)
+ if (Powered) return 8862;
+ else return 8863;
+ else
+ if (Powered) return 8864;
+ else return 8865;
+ }
+ BlockState BirchDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace BirchFence
+ {
+ constexpr BlockState BirchFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 8612;
+ else return 8613;
+ else
+ if (West) return 8616;
+ else return 8617;
+ else
+ if (South)
+ if (West) return 8620;
+ else return 8621;
+ else
+ if (West) return 8624;
+ else return 8625;
+ else
+ if (North)
+ if (South)
+ if (West) return 8628;
+ else return 8629;
+ else
+ if (West) return 8632;
+ else return 8633;
+ else
+ if (South)
+ if (West) return 8636;
+ else return 8637;
+ else
+ if (West) return 8640;
+ else return 8641;
+ }
+ BlockState BirchFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace BirchFenceGate
+ {
+ constexpr BlockState BirchFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8450;
+ else return 8451;
+ else
+ if (Powered) return 8452;
+ else return 8453;
+ else
+ if (Open)
+ if (Powered) return 8454;
+ else return 8455;
+ else
+ if (Powered) return 8456;
+ else return 8457;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8458;
+ else return 8459;
+ else
+ if (Powered) return 8460;
+ else return 8461;
+ else
+ if (Open)
+ if (Powered) return 8462;
+ else return 8463;
+ else
+ if (Powered) return 8464;
+ else return 8465;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8466;
+ else return 8467;
+ else
+ if (Powered) return 8468;
+ else return 8469;
+ else
+ if (Open)
+ if (Powered) return 8470;
+ else return 8471;
+ else
+ if (Powered) return 8472;
+ else return 8473;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 8474;
+ else return 8475;
+ else
+ if (Powered) return 8476;
+ else return 8477;
+ else
+ if (Open)
+ if (Powered) return 8478;
+ else return 8479;
+ else
+ if (Powered) return 8480;
+ else return 8481;
+ }
+ BlockState BirchFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace BirchLeaves
+ {
+ constexpr BlockState BirchLeaves(const unsigned char Distance, const bool Persistent)
+ {
+ if (Distance == 1)
+ if (Persistent) return 173;
+ else return 174;
+ else if (Distance == 2)
+ if (Persistent) return 175;
+ else return 176;
+ else if (Distance == 3)
+ if (Persistent) return 177;
+ else return 178;
+ else if (Distance == 4)
+ if (Persistent) return 179;
+ else return 180;
+ else if (Distance == 5)
+ if (Persistent) return 181;
+ else return 182;
+ else if (Distance == 6)
+ if (Persistent) return 183;
+ else return 184;
+ else
+ if (Persistent) return 185;
+ else return 186;
+ }
+ BlockState BirchLeaves();
+ unsigned char Distance(BlockState Block);
+ bool Persistent(BlockState Block);
+ }
+ namespace BirchLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState BirchLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 79;
+ else if (Axis == Axis::Y) return 80;
+ else return 81;
+ }
+ BlockState BirchLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace BirchPlanks
+ {
+ constexpr BlockState BirchPlanks()
+ {
+ return 17;
+ }
+ }
+ namespace BirchPressurePlate
+ {
+ constexpr BlockState BirchPressurePlate(const bool Powered)
+ {
+ if (Powered) return 3877;
+ else return 3878;
+ }
+ BlockState BirchPressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace BirchSapling
+ {
+ constexpr BlockState BirchSapling(const unsigned char Stage)
+ {
+ if (Stage == 0) return 25;
+ else return 26;
+ }
+ BlockState BirchSapling();
+ unsigned char Stage(BlockState Block);
+ }
+ namespace BirchSign
+ {
+ constexpr BlockState BirchSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 3446;
+ else if (Rotation == 1) return 3448;
+ else if (Rotation == 2) return 3450;
+ else if (Rotation == 3) return 3452;
+ else if (Rotation == 4) return 3454;
+ else if (Rotation == 5) return 3456;
+ else if (Rotation == 6) return 3458;
+ else if (Rotation == 7) return 3460;
+ else if (Rotation == 8) return 3462;
+ else if (Rotation == 9) return 3464;
+ else if (Rotation == 10) return 3466;
+ else if (Rotation == 11) return 3468;
+ else if (Rotation == 12) return 3470;
+ else if (Rotation == 13) return 3472;
+ else if (Rotation == 14) return 3474;
+ else return 3476;
+ }
+ BlockState BirchSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace BirchSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState BirchSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8313;
+ else if (Type == Type::Bottom) return 8315;
+ else return 8317;
+ }
+ BlockState BirchSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace BirchStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState BirchStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5485;
+ else if (Shape == Shape::InnerLeft) return 5487;
+ else if (Shape == Shape::InnerRight) return 5489;
+ else if (Shape == Shape::OuterLeft) return 5491;
+ else return 5493;
+ else
+ if (Shape == Shape::Straight) return 5495;
+ else if (Shape == Shape::InnerLeft) return 5497;
+ else if (Shape == Shape::InnerRight) return 5499;
+ else if (Shape == Shape::OuterLeft) return 5501;
+ else return 5503;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5505;
+ else if (Shape == Shape::InnerLeft) return 5507;
+ else if (Shape == Shape::InnerRight) return 5509;
+ else if (Shape == Shape::OuterLeft) return 5511;
+ else return 5513;
+ else
+ if (Shape == Shape::Straight) return 5515;
+ else if (Shape == Shape::InnerLeft) return 5517;
+ else if (Shape == Shape::InnerRight) return 5519;
+ else if (Shape == Shape::OuterLeft) return 5521;
+ else return 5523;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5525;
+ else if (Shape == Shape::InnerLeft) return 5527;
+ else if (Shape == Shape::InnerRight) return 5529;
+ else if (Shape == Shape::OuterLeft) return 5531;
+ else return 5533;
+ else
+ if (Shape == Shape::Straight) return 5535;
+ else if (Shape == Shape::InnerLeft) return 5537;
+ else if (Shape == Shape::InnerRight) return 5539;
+ else if (Shape == Shape::OuterLeft) return 5541;
+ else return 5543;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5545;
+ else if (Shape == Shape::InnerLeft) return 5547;
+ else if (Shape == Shape::InnerRight) return 5549;
+ else if (Shape == Shape::OuterLeft) return 5551;
+ else return 5553;
+ else
+ if (Shape == Shape::Straight) return 5555;
+ else if (Shape == Shape::InnerLeft) return 5557;
+ else if (Shape == Shape::InnerRight) return 5559;
+ else if (Shape == Shape::OuterLeft) return 5561;
+ else return 5563;
+ }
+ BlockState BirchStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace BirchTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState BirchTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4240;
+ else return 4242;
+ else
+ if (Powered) return 4244;
+ else return 4246;
+ else
+ if (Open)
+ if (Powered) return 4248;
+ else return 4250;
+ else
+ if (Powered) return 4252;
+ else return 4254;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4256;
+ else return 4258;
+ else
+ if (Powered) return 4260;
+ else return 4262;
+ else
+ if (Open)
+ if (Powered) return 4264;
+ else return 4266;
+ else
+ if (Powered) return 4268;
+ else return 4270;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4272;
+ else return 4274;
+ else
+ if (Powered) return 4276;
+ else return 4278;
+ else
+ if (Open)
+ if (Powered) return 4280;
+ else return 4282;
+ else
+ if (Powered) return 4284;
+ else return 4286;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4288;
+ else return 4290;
+ else
+ if (Powered) return 4292;
+ else return 4294;
+ else
+ if (Open)
+ if (Powered) return 4296;
+ else return 4298;
+ else
+ if (Powered) return 4300;
+ else return 4302;
+ }
+ BlockState BirchTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace BirchWallSign
+ {
+ constexpr BlockState BirchWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3752;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3754;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3756;
+ else return 3758;
+ }
+ BlockState BirchWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BirchWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState BirchWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 115;
+ else if (Axis == Axis::Y) return 116;
+ else return 117;
+ }
+ BlockState BirchWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace BlackBanner
+ {
+ constexpr BlockState BlackBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8137;
+ else if (Rotation == 1) return 8138;
+ else if (Rotation == 2) return 8139;
+ else if (Rotation == 3) return 8140;
+ else if (Rotation == 4) return 8141;
+ else if (Rotation == 5) return 8142;
+ else if (Rotation == 6) return 8143;
+ else if (Rotation == 7) return 8144;
+ else if (Rotation == 8) return 8145;
+ else if (Rotation == 9) return 8146;
+ else if (Rotation == 10) return 8147;
+ else if (Rotation == 11) return 8148;
+ else if (Rotation == 12) return 8149;
+ else if (Rotation == 13) return 8150;
+ else if (Rotation == 14) return 8151;
+ else return 8152;
+ }
+ BlockState BlackBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace BlackBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState BlackBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1289;
+ else return 1290;
+ else
+ if (Part == Part::Head) return 1291;
+ else return 1292;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1293;
+ else return 1294;
+ else
+ if (Part == Part::Head) return 1295;
+ else return 1296;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1297;
+ else return 1298;
+ else
+ if (Part == Part::Head) return 1299;
+ else return 1300;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1301;
+ else return 1302;
+ else
+ if (Part == Part::Head) return 1303;
+ else return 1304;
+ }
+ BlockState BlackBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace BlackCarpet
+ {
+ constexpr BlockState BlackCarpet()
+ {
+ return 7881;
+ }
+ }
+ namespace BlackConcrete
+ {
+ constexpr BlockState BlackConcrete()
+ {
+ return 9453;
+ }
+ }
+ namespace BlackConcretePowder
+ {
+ constexpr BlockState BlackConcretePowder()
+ {
+ return 9469;
+ }
+ }
+ namespace BlackGlazedTerracotta
+ {
+ constexpr BlockState BlackGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9434;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9435;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9436;
+ else return 9437;
+ }
+ BlockState BlackGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BlackShulkerBox
+ {
+ constexpr BlockState BlackShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9368;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9369;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9370;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9371;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9372;
+ else return 9373;
+ }
+ BlockState BlackShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BlackStainedGlass
+ {
+ constexpr BlockState BlackStainedGlass()
+ {
+ return 4110;
+ }
+ }
+ namespace BlackStainedGlassPane
+ {
+ constexpr BlockState BlackStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7345;
+ else return 7346;
+ else
+ if (West) return 7349;
+ else return 7350;
+ else
+ if (South)
+ if (West) return 7353;
+ else return 7354;
+ else
+ if (West) return 7357;
+ else return 7358;
+ else
+ if (North)
+ if (South)
+ if (West) return 7361;
+ else return 7362;
+ else
+ if (West) return 7365;
+ else return 7366;
+ else
+ if (South)
+ if (West) return 7369;
+ else return 7370;
+ else
+ if (West) return 7373;
+ else return 7374;
+ }
+ BlockState BlackStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace BlackTerracotta
+ {
+ constexpr BlockState BlackTerracotta()
+ {
+ return 6862;
+ }
+ }
+ namespace BlackWallBanner
+ {
+ constexpr BlockState BlackWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8213;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8214;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8215;
+ else return 8216;
+ }
+ BlockState BlackWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BlackWool
+ {
+ constexpr BlockState BlackWool()
+ {
+ return 1399;
+ }
+ }
+ namespace Blackstone
+ {
+ constexpr BlockState Blackstone()
+ {
+ return 15839;
+ }
+ }
+ namespace BlackstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState BlackstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 16245;
+ else if (Type == Type::Bottom) return 16247;
+ else return 16249;
+ }
+ BlockState BlackstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace BlackstoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState BlackstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15841;
+ else if (Shape == Shape::InnerLeft) return 15843;
+ else if (Shape == Shape::InnerRight) return 15845;
+ else if (Shape == Shape::OuterLeft) return 15847;
+ else return 15849;
+ else
+ if (Shape == Shape::Straight) return 15851;
+ else if (Shape == Shape::InnerLeft) return 15853;
+ else if (Shape == Shape::InnerRight) return 15855;
+ else if (Shape == Shape::OuterLeft) return 15857;
+ else return 15859;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15861;
+ else if (Shape == Shape::InnerLeft) return 15863;
+ else if (Shape == Shape::InnerRight) return 15865;
+ else if (Shape == Shape::OuterLeft) return 15867;
+ else return 15869;
+ else
+ if (Shape == Shape::Straight) return 15871;
+ else if (Shape == Shape::InnerLeft) return 15873;
+ else if (Shape == Shape::InnerRight) return 15875;
+ else if (Shape == Shape::OuterLeft) return 15877;
+ else return 15879;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15881;
+ else if (Shape == Shape::InnerLeft) return 15883;
+ else if (Shape == Shape::InnerRight) return 15885;
+ else if (Shape == Shape::OuterLeft) return 15887;
+ else return 15889;
+ else
+ if (Shape == Shape::Straight) return 15891;
+ else if (Shape == Shape::InnerLeft) return 15893;
+ else if (Shape == Shape::InnerRight) return 15895;
+ else if (Shape == Shape::OuterLeft) return 15897;
+ else return 15899;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15901;
+ else if (Shape == Shape::InnerLeft) return 15903;
+ else if (Shape == Shape::InnerRight) return 15905;
+ else if (Shape == Shape::OuterLeft) return 15907;
+ else return 15909;
+ else
+ if (Shape == Shape::Straight) return 15911;
+ else if (Shape == Shape::InnerLeft) return 15913;
+ else if (Shape == Shape::InnerRight) return 15915;
+ else if (Shape == Shape::OuterLeft) return 15917;
+ else return 15919;
+ }
+ BlockState BlackstoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace BlackstoneWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState BlackstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 15923;
+ else if (West == West::Low) return 15924;
+ else return 15925;
+ else
+ if (West == West::None) return 15929;
+ else if (West == West::Low) return 15930;
+ else return 15931;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 15935;
+ else if (West == West::Low) return 15936;
+ else return 15937;
+ else
+ if (West == West::None) return 15941;
+ else if (West == West::Low) return 15942;
+ else return 15943;
+ else
+ if (Up)
+ if (West == West::None) return 15947;
+ else if (West == West::Low) return 15948;
+ else return 15949;
+ else
+ if (West == West::None) return 15953;
+ else if (West == West::Low) return 15954;
+ else return 15955;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 15959;
+ else if (West == West::Low) return 15960;
+ else return 15961;
+ else
+ if (West == West::None) return 15965;
+ else if (West == West::Low) return 15966;
+ else return 15967;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 15971;
+ else if (West == West::Low) return 15972;
+ else return 15973;
+ else
+ if (West == West::None) return 15977;
+ else if (West == West::Low) return 15978;
+ else return 15979;
+ else
+ if (Up)
+ if (West == West::None) return 15983;
+ else if (West == West::Low) return 15984;
+ else return 15985;
+ else
+ if (West == West::None) return 15989;
+ else if (West == West::Low) return 15990;
+ else return 15991;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 15995;
+ else if (West == West::Low) return 15996;
+ else return 15997;
+ else
+ if (West == West::None) return 16001;
+ else if (West == West::Low) return 16002;
+ else return 16003;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16007;
+ else if (West == West::Low) return 16008;
+ else return 16009;
+ else
+ if (West == West::None) return 16013;
+ else if (West == West::Low) return 16014;
+ else return 16015;
+ else
+ if (Up)
+ if (West == West::None) return 16019;
+ else if (West == West::Low) return 16020;
+ else return 16021;
+ else
+ if (West == West::None) return 16025;
+ else if (West == West::Low) return 16026;
+ else return 16027;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16031;
+ else if (West == West::Low) return 16032;
+ else return 16033;
+ else
+ if (West == West::None) return 16037;
+ else if (West == West::Low) return 16038;
+ else return 16039;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16043;
+ else if (West == West::Low) return 16044;
+ else return 16045;
+ else
+ if (West == West::None) return 16049;
+ else if (West == West::Low) return 16050;
+ else return 16051;
+ else
+ if (Up)
+ if (West == West::None) return 16055;
+ else if (West == West::Low) return 16056;
+ else return 16057;
+ else
+ if (West == West::None) return 16061;
+ else if (West == West::Low) return 16062;
+ else return 16063;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16067;
+ else if (West == West::Low) return 16068;
+ else return 16069;
+ else
+ if (West == West::None) return 16073;
+ else if (West == West::Low) return 16074;
+ else return 16075;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16079;
+ else if (West == West::Low) return 16080;
+ else return 16081;
+ else
+ if (West == West::None) return 16085;
+ else if (West == West::Low) return 16086;
+ else return 16087;
+ else
+ if (Up)
+ if (West == West::None) return 16091;
+ else if (West == West::Low) return 16092;
+ else return 16093;
+ else
+ if (West == West::None) return 16097;
+ else if (West == West::Low) return 16098;
+ else return 16099;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16103;
+ else if (West == West::Low) return 16104;
+ else return 16105;
+ else
+ if (West == West::None) return 16109;
+ else if (West == West::Low) return 16110;
+ else return 16111;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16115;
+ else if (West == West::Low) return 16116;
+ else return 16117;
+ else
+ if (West == West::None) return 16121;
+ else if (West == West::Low) return 16122;
+ else return 16123;
+ else
+ if (Up)
+ if (West == West::None) return 16127;
+ else if (West == West::Low) return 16128;
+ else return 16129;
+ else
+ if (West == West::None) return 16133;
+ else if (West == West::Low) return 16134;
+ else return 16135;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16139;
+ else if (West == West::Low) return 16140;
+ else return 16141;
+ else
+ if (West == West::None) return 16145;
+ else if (West == West::Low) return 16146;
+ else return 16147;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16151;
+ else if (West == West::Low) return 16152;
+ else return 16153;
+ else
+ if (West == West::None) return 16157;
+ else if (West == West::Low) return 16158;
+ else return 16159;
+ else
+ if (Up)
+ if (West == West::None) return 16163;
+ else if (West == West::Low) return 16164;
+ else return 16165;
+ else
+ if (West == West::None) return 16169;
+ else if (West == West::Low) return 16170;
+ else return 16171;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16175;
+ else if (West == West::Low) return 16176;
+ else return 16177;
+ else
+ if (West == West::None) return 16181;
+ else if (West == West::Low) return 16182;
+ else return 16183;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16187;
+ else if (West == West::Low) return 16188;
+ else return 16189;
+ else
+ if (West == West::None) return 16193;
+ else if (West == West::Low) return 16194;
+ else return 16195;
+ else
+ if (Up)
+ if (West == West::None) return 16199;
+ else if (West == West::Low) return 16200;
+ else return 16201;
+ else
+ if (West == West::None) return 16205;
+ else if (West == West::Low) return 16206;
+ else return 16207;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16211;
+ else if (West == West::Low) return 16212;
+ else return 16213;
+ else
+ if (West == West::None) return 16217;
+ else if (West == West::Low) return 16218;
+ else return 16219;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16223;
+ else if (West == West::Low) return 16224;
+ else return 16225;
+ else
+ if (West == West::None) return 16229;
+ else if (West == West::Low) return 16230;
+ else return 16231;
+ else
+ if (Up)
+ if (West == West::None) return 16235;
+ else if (West == West::Low) return 16236;
+ else return 16237;
+ else
+ if (West == West::None) return 16241;
+ else if (West == West::Low) return 16242;
+ else return 16243;
+ }
+ BlockState BlackstoneWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace BlastFurnace
+ {
+ constexpr BlockState BlastFurnace(const eBlockFace Facing, const bool Lit)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Lit) return 14811;
+ else return 14812;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Lit) return 14813;
+ else return 14814;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Lit) return 14815;
+ else return 14816;
+ else
+ if (Lit) return 14817;
+ else return 14818;
+ }
+ BlockState BlastFurnace();
+ eBlockFace Facing(BlockState Block);
+ bool Lit(BlockState Block);
+ }
+ namespace BlueBanner
+ {
+ constexpr BlockState BlueBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8073;
+ else if (Rotation == 1) return 8074;
+ else if (Rotation == 2) return 8075;
+ else if (Rotation == 3) return 8076;
+ else if (Rotation == 4) return 8077;
+ else if (Rotation == 5) return 8078;
+ else if (Rotation == 6) return 8079;
+ else if (Rotation == 7) return 8080;
+ else if (Rotation == 8) return 8081;
+ else if (Rotation == 9) return 8082;
+ else if (Rotation == 10) return 8083;
+ else if (Rotation == 11) return 8084;
+ else if (Rotation == 12) return 8085;
+ else if (Rotation == 13) return 8086;
+ else if (Rotation == 14) return 8087;
+ else return 8088;
+ }
+ BlockState BlueBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace BlueBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState BlueBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1225;
+ else return 1226;
+ else
+ if (Part == Part::Head) return 1227;
+ else return 1228;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1229;
+ else return 1230;
+ else
+ if (Part == Part::Head) return 1231;
+ else return 1232;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1233;
+ else return 1234;
+ else
+ if (Part == Part::Head) return 1235;
+ else return 1236;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1237;
+ else return 1238;
+ else
+ if (Part == Part::Head) return 1239;
+ else return 1240;
+ }
+ BlockState BlueBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace BlueCarpet
+ {
+ constexpr BlockState BlueCarpet()
+ {
+ return 7877;
+ }
+ }
+ namespace BlueConcrete
+ {
+ constexpr BlockState BlueConcrete()
+ {
+ return 9449;
+ }
+ }
+ namespace BlueConcretePowder
+ {
+ constexpr BlockState BlueConcretePowder()
+ {
+ return 9465;
+ }
+ }
+ namespace BlueGlazedTerracotta
+ {
+ constexpr BlockState BlueGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9418;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9419;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9420;
+ else return 9421;
+ }
+ BlockState BlueGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BlueIce
+ {
+ constexpr BlockState BlueIce()
+ {
+ return 9648;
+ }
+ }
+ namespace BlueOrchid
+ {
+ constexpr BlockState BlueOrchid()
+ {
+ return 1414;
+ }
+ }
+ namespace BlueShulkerBox
+ {
+ constexpr BlockState BlueShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9344;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9345;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9346;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9347;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9348;
+ else return 9349;
+ }
+ BlockState BlueShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BlueStainedGlass
+ {
+ constexpr BlockState BlueStainedGlass()
+ {
+ return 4106;
+ }
+ }
+ namespace BlueStainedGlassPane
+ {
+ constexpr BlockState BlueStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7217;
+ else return 7218;
+ else
+ if (West) return 7221;
+ else return 7222;
+ else
+ if (South)
+ if (West) return 7225;
+ else return 7226;
+ else
+ if (West) return 7229;
+ else return 7230;
+ else
+ if (North)
+ if (South)
+ if (West) return 7233;
+ else return 7234;
+ else
+ if (West) return 7237;
+ else return 7238;
+ else
+ if (South)
+ if (West) return 7241;
+ else return 7242;
+ else
+ if (West) return 7245;
+ else return 7246;
+ }
+ BlockState BlueStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace BlueTerracotta
+ {
+ constexpr BlockState BlueTerracotta()
+ {
+ return 6858;
+ }
+ }
+ namespace BlueWallBanner
+ {
+ constexpr BlockState BlueWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8197;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8198;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8199;
+ else return 8200;
+ }
+ BlockState BlueWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BlueWool
+ {
+ constexpr BlockState BlueWool()
+ {
+ return 1395;
+ }
+ }
+ namespace BoneBlock
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState BoneBlock(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 9256;
+ else if (Axis == Axis::Y) return 9257;
+ else return 9258;
+ }
+ BlockState BoneBlock();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace Bookshelf
+ {
+ constexpr BlockState Bookshelf()
+ {
+ return 1432;
+ }
+ }
+ namespace BrainCoral
+ {
+ constexpr BlockState BrainCoral()
+ {
+ return 9533;
+ }
+ }
+ namespace BrainCoralBlock
+ {
+ constexpr BlockState BrainCoralBlock()
+ {
+ return 9516;
+ }
+ }
+ namespace BrainCoralFan
+ {
+ constexpr BlockState BrainCoralFan()
+ {
+ return 9553;
+ }
+ }
+ namespace BrainCoralWallFan
+ {
+ constexpr BlockState BrainCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9609;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9611;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9613;
+ else return 9615;
+ }
+ BlockState BrainCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BrewingStand
+ {
+ constexpr BlockState BrewingStand(const bool HasBottle_0, const bool HasBottle_1, const bool HasBottle_2)
+ {
+ if (HasBottle_0)
+ if (HasBottle_1)
+ if (HasBottle_2) return 5133;
+ else return 5134;
+ else
+ if (HasBottle_2) return 5135;
+ else return 5136;
+ else
+ if (HasBottle_1)
+ if (HasBottle_2) return 5137;
+ else return 5138;
+ else
+ if (HasBottle_2) return 5139;
+ else return 5140;
+ }
+ BlockState BrewingStand();
+ bool HasBottle_0(BlockState Block);
+ bool HasBottle_1(BlockState Block);
+ bool HasBottle_2(BlockState Block);
+ }
+ namespace BrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState BrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8373;
+ else if (Type == Type::Bottom) return 8375;
+ else return 8377;
+ }
+ BlockState BrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace BrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState BrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4853;
+ else if (Shape == Shape::InnerLeft) return 4855;
+ else if (Shape == Shape::InnerRight) return 4857;
+ else if (Shape == Shape::OuterLeft) return 4859;
+ else return 4861;
+ else
+ if (Shape == Shape::Straight) return 4863;
+ else if (Shape == Shape::InnerLeft) return 4865;
+ else if (Shape == Shape::InnerRight) return 4867;
+ else if (Shape == Shape::OuterLeft) return 4869;
+ else return 4871;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4873;
+ else if (Shape == Shape::InnerLeft) return 4875;
+ else if (Shape == Shape::InnerRight) return 4877;
+ else if (Shape == Shape::OuterLeft) return 4879;
+ else return 4881;
+ else
+ if (Shape == Shape::Straight) return 4883;
+ else if (Shape == Shape::InnerLeft) return 4885;
+ else if (Shape == Shape::InnerRight) return 4887;
+ else if (Shape == Shape::OuterLeft) return 4889;
+ else return 4891;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4893;
+ else if (Shape == Shape::InnerLeft) return 4895;
+ else if (Shape == Shape::InnerRight) return 4897;
+ else if (Shape == Shape::OuterLeft) return 4899;
+ else return 4901;
+ else
+ if (Shape == Shape::Straight) return 4903;
+ else if (Shape == Shape::InnerLeft) return 4905;
+ else if (Shape == Shape::InnerRight) return 4907;
+ else if (Shape == Shape::OuterLeft) return 4909;
+ else return 4911;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4913;
+ else if (Shape == Shape::InnerLeft) return 4915;
+ else if (Shape == Shape::InnerRight) return 4917;
+ else if (Shape == Shape::OuterLeft) return 4919;
+ else return 4921;
+ else
+ if (Shape == Shape::Straight) return 4923;
+ else if (Shape == Shape::InnerLeft) return 4925;
+ else if (Shape == Shape::InnerRight) return 4927;
+ else if (Shape == Shape::OuterLeft) return 4929;
+ else return 4931;
+ }
+ BlockState BrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace BrickWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState BrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 10870;
+ else if (West == West::Low) return 10871;
+ else return 10872;
+ else
+ if (West == West::None) return 10876;
+ else if (West == West::Low) return 10877;
+ else return 10878;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 10882;
+ else if (West == West::Low) return 10883;
+ else return 10884;
+ else
+ if (West == West::None) return 10888;
+ else if (West == West::Low) return 10889;
+ else return 10890;
+ else
+ if (Up)
+ if (West == West::None) return 10894;
+ else if (West == West::Low) return 10895;
+ else return 10896;
+ else
+ if (West == West::None) return 10900;
+ else if (West == West::Low) return 10901;
+ else return 10902;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 10906;
+ else if (West == West::Low) return 10907;
+ else return 10908;
+ else
+ if (West == West::None) return 10912;
+ else if (West == West::Low) return 10913;
+ else return 10914;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 10918;
+ else if (West == West::Low) return 10919;
+ else return 10920;
+ else
+ if (West == West::None) return 10924;
+ else if (West == West::Low) return 10925;
+ else return 10926;
+ else
+ if (Up)
+ if (West == West::None) return 10930;
+ else if (West == West::Low) return 10931;
+ else return 10932;
+ else
+ if (West == West::None) return 10936;
+ else if (West == West::Low) return 10937;
+ else return 10938;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 10942;
+ else if (West == West::Low) return 10943;
+ else return 10944;
+ else
+ if (West == West::None) return 10948;
+ else if (West == West::Low) return 10949;
+ else return 10950;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 10954;
+ else if (West == West::Low) return 10955;
+ else return 10956;
+ else
+ if (West == West::None) return 10960;
+ else if (West == West::Low) return 10961;
+ else return 10962;
+ else
+ if (Up)
+ if (West == West::None) return 10966;
+ else if (West == West::Low) return 10967;
+ else return 10968;
+ else
+ if (West == West::None) return 10972;
+ else if (West == West::Low) return 10973;
+ else return 10974;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 10978;
+ else if (West == West::Low) return 10979;
+ else return 10980;
+ else
+ if (West == West::None) return 10984;
+ else if (West == West::Low) return 10985;
+ else return 10986;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 10990;
+ else if (West == West::Low) return 10991;
+ else return 10992;
+ else
+ if (West == West::None) return 10996;
+ else if (West == West::Low) return 10997;
+ else return 10998;
+ else
+ if (Up)
+ if (West == West::None) return 11002;
+ else if (West == West::Low) return 11003;
+ else return 11004;
+ else
+ if (West == West::None) return 11008;
+ else if (West == West::Low) return 11009;
+ else return 11010;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11014;
+ else if (West == West::Low) return 11015;
+ else return 11016;
+ else
+ if (West == West::None) return 11020;
+ else if (West == West::Low) return 11021;
+ else return 11022;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11026;
+ else if (West == West::Low) return 11027;
+ else return 11028;
+ else
+ if (West == West::None) return 11032;
+ else if (West == West::Low) return 11033;
+ else return 11034;
+ else
+ if (Up)
+ if (West == West::None) return 11038;
+ else if (West == West::Low) return 11039;
+ else return 11040;
+ else
+ if (West == West::None) return 11044;
+ else if (West == West::Low) return 11045;
+ else return 11046;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11050;
+ else if (West == West::Low) return 11051;
+ else return 11052;
+ else
+ if (West == West::None) return 11056;
+ else if (West == West::Low) return 11057;
+ else return 11058;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11062;
+ else if (West == West::Low) return 11063;
+ else return 11064;
+ else
+ if (West == West::None) return 11068;
+ else if (West == West::Low) return 11069;
+ else return 11070;
+ else
+ if (Up)
+ if (West == West::None) return 11074;
+ else if (West == West::Low) return 11075;
+ else return 11076;
+ else
+ if (West == West::None) return 11080;
+ else if (West == West::Low) return 11081;
+ else return 11082;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11086;
+ else if (West == West::Low) return 11087;
+ else return 11088;
+ else
+ if (West == West::None) return 11092;
+ else if (West == West::Low) return 11093;
+ else return 11094;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11098;
+ else if (West == West::Low) return 11099;
+ else return 11100;
+ else
+ if (West == West::None) return 11104;
+ else if (West == West::Low) return 11105;
+ else return 11106;
+ else
+ if (Up)
+ if (West == West::None) return 11110;
+ else if (West == West::Low) return 11111;
+ else return 11112;
+ else
+ if (West == West::None) return 11116;
+ else if (West == West::Low) return 11117;
+ else return 11118;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11122;
+ else if (West == West::Low) return 11123;
+ else return 11124;
+ else
+ if (West == West::None) return 11128;
+ else if (West == West::Low) return 11129;
+ else return 11130;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11134;
+ else if (West == West::Low) return 11135;
+ else return 11136;
+ else
+ if (West == West::None) return 11140;
+ else if (West == West::Low) return 11141;
+ else return 11142;
+ else
+ if (Up)
+ if (West == West::None) return 11146;
+ else if (West == West::Low) return 11147;
+ else return 11148;
+ else
+ if (West == West::None) return 11152;
+ else if (West == West::Low) return 11153;
+ else return 11154;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11158;
+ else if (West == West::Low) return 11159;
+ else return 11160;
+ else
+ if (West == West::None) return 11164;
+ else if (West == West::Low) return 11165;
+ else return 11166;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11170;
+ else if (West == West::Low) return 11171;
+ else return 11172;
+ else
+ if (West == West::None) return 11176;
+ else if (West == West::Low) return 11177;
+ else return 11178;
+ else
+ if (Up)
+ if (West == West::None) return 11182;
+ else if (West == West::Low) return 11183;
+ else return 11184;
+ else
+ if (West == West::None) return 11188;
+ else if (West == West::Low) return 11189;
+ else return 11190;
+ }
+ BlockState BrickWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Bricks
+ {
+ constexpr BlockState Bricks()
+ {
+ return 1429;
+ }
+ }
+ namespace BrownBanner
+ {
+ constexpr BlockState BrownBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8089;
+ else if (Rotation == 1) return 8090;
+ else if (Rotation == 2) return 8091;
+ else if (Rotation == 3) return 8092;
+ else if (Rotation == 4) return 8093;
+ else if (Rotation == 5) return 8094;
+ else if (Rotation == 6) return 8095;
+ else if (Rotation == 7) return 8096;
+ else if (Rotation == 8) return 8097;
+ else if (Rotation == 9) return 8098;
+ else if (Rotation == 10) return 8099;
+ else if (Rotation == 11) return 8100;
+ else if (Rotation == 12) return 8101;
+ else if (Rotation == 13) return 8102;
+ else if (Rotation == 14) return 8103;
+ else return 8104;
+ }
+ BlockState BrownBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace BrownBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState BrownBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1241;
+ else return 1242;
+ else
+ if (Part == Part::Head) return 1243;
+ else return 1244;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1245;
+ else return 1246;
+ else
+ if (Part == Part::Head) return 1247;
+ else return 1248;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1249;
+ else return 1250;
+ else
+ if (Part == Part::Head) return 1251;
+ else return 1252;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1253;
+ else return 1254;
+ else
+ if (Part == Part::Head) return 1255;
+ else return 1256;
+ }
+ BlockState BrownBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace BrownCarpet
+ {
+ constexpr BlockState BrownCarpet()
+ {
+ return 7878;
+ }
+ }
+ namespace BrownConcrete
+ {
+ constexpr BlockState BrownConcrete()
+ {
+ return 9450;
+ }
+ }
+ namespace BrownConcretePowder
+ {
+ constexpr BlockState BrownConcretePowder()
+ {
+ return 9466;
+ }
+ }
+ namespace BrownGlazedTerracotta
+ {
+ constexpr BlockState BrownGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9422;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9423;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9424;
+ else return 9425;
+ }
+ BlockState BrownGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BrownMushroom
+ {
+ constexpr BlockState BrownMushroom()
+ {
+ return 1425;
+ }
+ }
+ namespace BrownMushroomBlock
+ {
+ constexpr BlockState BrownMushroomBlock(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West)
+ {
+ if (Down)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4505;
+ else return 4506;
+ else
+ if (West) return 4507;
+ else return 4508;
+ else
+ if (Up)
+ if (West) return 4509;
+ else return 4510;
+ else
+ if (West) return 4511;
+ else return 4512;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4513;
+ else return 4514;
+ else
+ if (West) return 4515;
+ else return 4516;
+ else
+ if (Up)
+ if (West) return 4517;
+ else return 4518;
+ else
+ if (West) return 4519;
+ else return 4520;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4521;
+ else return 4522;
+ else
+ if (West) return 4523;
+ else return 4524;
+ else
+ if (Up)
+ if (West) return 4525;
+ else return 4526;
+ else
+ if (West) return 4527;
+ else return 4528;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4529;
+ else return 4530;
+ else
+ if (West) return 4531;
+ else return 4532;
+ else
+ if (Up)
+ if (West) return 4533;
+ else return 4534;
+ else
+ if (West) return 4535;
+ else return 4536;
+ else
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4537;
+ else return 4538;
+ else
+ if (West) return 4539;
+ else return 4540;
+ else
+ if (Up)
+ if (West) return 4541;
+ else return 4542;
+ else
+ if (West) return 4543;
+ else return 4544;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4545;
+ else return 4546;
+ else
+ if (West) return 4547;
+ else return 4548;
+ else
+ if (Up)
+ if (West) return 4549;
+ else return 4550;
+ else
+ if (West) return 4551;
+ else return 4552;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4553;
+ else return 4554;
+ else
+ if (West) return 4555;
+ else return 4556;
+ else
+ if (Up)
+ if (West) return 4557;
+ else return 4558;
+ else
+ if (West) return 4559;
+ else return 4560;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4561;
+ else return 4562;
+ else
+ if (West) return 4563;
+ else return 4564;
+ else
+ if (Up)
+ if (West) return 4565;
+ else return 4566;
+ else
+ if (West) return 4567;
+ else return 4568;
+ }
+ BlockState BrownMushroomBlock();
+ bool Down(BlockState Block);
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool Up(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace BrownShulkerBox
+ {
+ constexpr BlockState BrownShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9350;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9351;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9352;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9353;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9354;
+ else return 9355;
+ }
+ BlockState BrownShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BrownStainedGlass
+ {
+ constexpr BlockState BrownStainedGlass()
+ {
+ return 4107;
+ }
+ }
+ namespace BrownStainedGlassPane
+ {
+ constexpr BlockState BrownStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7249;
+ else return 7250;
+ else
+ if (West) return 7253;
+ else return 7254;
+ else
+ if (South)
+ if (West) return 7257;
+ else return 7258;
+ else
+ if (West) return 7261;
+ else return 7262;
+ else
+ if (North)
+ if (South)
+ if (West) return 7265;
+ else return 7266;
+ else
+ if (West) return 7269;
+ else return 7270;
+ else
+ if (South)
+ if (West) return 7273;
+ else return 7274;
+ else
+ if (West) return 7277;
+ else return 7278;
+ }
+ BlockState BrownStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace BrownTerracotta
+ {
+ constexpr BlockState BrownTerracotta()
+ {
+ return 6859;
+ }
+ }
+ namespace BrownWallBanner
+ {
+ constexpr BlockState BrownWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8201;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8202;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8203;
+ else return 8204;
+ }
+ BlockState BrownWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace BrownWool
+ {
+ constexpr BlockState BrownWool()
+ {
+ return 1396;
+ }
+ }
+ namespace BubbleColumn
+ {
+ constexpr BlockState BubbleColumn(const bool Drag)
+ {
+ if (Drag) return 9667;
+ else return 9668;
+ }
+ BlockState BubbleColumn();
+ bool Drag(BlockState Block);
+ }
+ namespace BubbleCoral
+ {
+ constexpr BlockState BubbleCoral()
+ {
+ return 9535;
+ }
+ }
+ namespace BubbleCoralBlock
+ {
+ constexpr BlockState BubbleCoralBlock()
+ {
+ return 9517;
+ }
+ }
+ namespace BubbleCoralFan
+ {
+ constexpr BlockState BubbleCoralFan()
+ {
+ return 9555;
+ }
+ }
+ namespace BubbleCoralWallFan
+ {
+ constexpr BlockState BubbleCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9617;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9619;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9621;
+ else return 9623;
+ }
+ BlockState BubbleCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Cactus
+ {
+ constexpr BlockState Cactus(const unsigned char Age)
+ {
+ if (Age == 0) return 3931;
+ else if (Age == 1) return 3932;
+ else if (Age == 2) return 3933;
+ else if (Age == 3) return 3934;
+ else if (Age == 4) return 3935;
+ else if (Age == 5) return 3936;
+ else if (Age == 6) return 3937;
+ else if (Age == 7) return 3938;
+ else if (Age == 8) return 3939;
+ else if (Age == 9) return 3940;
+ else if (Age == 10) return 3941;
+ else if (Age == 11) return 3942;
+ else if (Age == 12) return 3943;
+ else if (Age == 13) return 3944;
+ else if (Age == 14) return 3945;
+ else return 3946;
+ }
+ BlockState Cactus();
+ unsigned char Age(BlockState Block);
+ }
+ namespace Cake
+ {
+ constexpr BlockState Cake(const unsigned char Bites)
+ {
+ if (Bites == 0) return 4024;
+ else if (Bites == 1) return 4025;
+ else if (Bites == 2) return 4026;
+ else if (Bites == 3) return 4027;
+ else if (Bites == 4) return 4028;
+ else if (Bites == 5) return 4029;
+ else return 4030;
+ }
+ BlockState Cake();
+ unsigned char Bites(BlockState Block);
+ }
+ namespace Campfire
+ {
+ constexpr BlockState Campfire(const eBlockFace Facing, const bool Lit, const bool SignalFire)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Lit)
+ if (SignalFire) return 14891;
+ else return 14893;
+ else
+ if (SignalFire) return 14895;
+ else return 14897;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Lit)
+ if (SignalFire) return 14899;
+ else return 14901;
+ else
+ if (SignalFire) return 14903;
+ else return 14905;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Lit)
+ if (SignalFire) return 14907;
+ else return 14909;
+ else
+ if (SignalFire) return 14911;
+ else return 14913;
+ else
+ if (Lit)
+ if (SignalFire) return 14915;
+ else return 14917;
+ else
+ if (SignalFire) return 14919;
+ else return 14921;
+ }
+ BlockState Campfire();
+ eBlockFace Facing(BlockState Block);
+ bool Lit(BlockState Block);
+ bool SignalFire(BlockState Block);
+ }
+ namespace Carrots
+ {
+ constexpr BlockState Carrots(const unsigned char Age)
+ {
+ if (Age == 0) return 6330;
+ else if (Age == 1) return 6331;
+ else if (Age == 2) return 6332;
+ else if (Age == 3) return 6333;
+ else if (Age == 4) return 6334;
+ else if (Age == 5) return 6335;
+ else if (Age == 6) return 6336;
+ else return 6337;
+ }
+ BlockState Carrots();
+ unsigned char Age(BlockState Block);
+ }
+ namespace CartographyTable
+ {
+ constexpr BlockState CartographyTable()
+ {
+ return 14819;
+ }
+ }
+ namespace CarvedPumpkin
+ {
+ constexpr BlockState CarvedPumpkin(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4016;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4017;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4018;
+ else return 4019;
+ }
+ BlockState CarvedPumpkin();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Cauldron
+ {
+ constexpr BlockState Cauldron(const unsigned char Level)
+ {
+ if (Level == 0) return 5141;
+ else if (Level == 1) return 5142;
+ else if (Level == 2) return 5143;
+ else return 5144;
+ }
+ BlockState Cauldron();
+ unsigned char Level(BlockState Block);
+ }
+ namespace CaveAir
+ {
+ constexpr BlockState CaveAir()
+ {
+ return 9666;
+ }
+ }
+ namespace Chain
+ {
+ constexpr BlockState Chain()
+ {
+ return 4730;
+ }
+ }
+ namespace ChainCommandBlock
+ {
+ constexpr BlockState ChainCommandBlock(const bool Conditional, const eBlockFace Facing)
+ {
+ if (Conditional)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9237;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9238;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9239;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9240;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9241;
+ else return 9242;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9243;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9244;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9245;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9246;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9247;
+ else return 9248;
+ }
+ BlockState ChainCommandBlock();
+ bool Conditional(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Chest
+ {
+ enum class Type
+ {
+ Single,
+ Left,
+ Right
+ };
+ constexpr BlockState Chest(const eBlockFace Facing, const enum Type Type)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Type == Type::Single) return 2035;
+ else if (Type == Type::Left) return 2037;
+ else return 2039;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Type == Type::Single) return 2041;
+ else if (Type == Type::Left) return 2043;
+ else return 2045;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Type == Type::Single) return 2047;
+ else if (Type == Type::Left) return 2049;
+ else return 2051;
+ else
+ if (Type == Type::Single) return 2053;
+ else if (Type == Type::Left) return 2055;
+ else return 2057;
+ }
+ BlockState Chest();
+ eBlockFace Facing(BlockState Block);
+ enum Type Type(BlockState Block);
+ }
+ namespace ChippedAnvil
+ {
+ constexpr BlockState ChippedAnvil(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6614;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6615;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6616;
+ else return 6617;
+ }
+ BlockState ChippedAnvil();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace ChiseledNetherBricks
+ {
+ constexpr BlockState ChiseledNetherBricks()
+ {
+ return 17101;
+ }
+ }
+ namespace ChiseledPolishedBlackstone
+ {
+ constexpr BlockState ChiseledPolishedBlackstone()
+ {
+ return 16253;
+ }
+ }
+ namespace ChiseledQuartzBlock
+ {
+ constexpr BlockState ChiseledQuartzBlock()
+ {
+ return 6739;
+ }
+ }
+ namespace ChiseledRedSandstone
+ {
+ constexpr BlockState ChiseledRedSandstone()
+ {
+ return 8218;
+ }
+ }
+ namespace ChiseledSandstone
+ {
+ constexpr BlockState ChiseledSandstone()
+ {
+ return 247;
+ }
+ }
+ namespace ChiseledStoneBricks
+ {
+ constexpr BlockState ChiseledStoneBricks()
+ {
+ return 4498;
+ }
+ }
+ namespace ChorusFlower
+ {
+ constexpr BlockState ChorusFlower(const unsigned char Age)
+ {
+ if (Age == 0) return 9128;
+ else if (Age == 1) return 9129;
+ else if (Age == 2) return 9130;
+ else if (Age == 3) return 9131;
+ else if (Age == 4) return 9132;
+ else return 9133;
+ }
+ BlockState ChorusFlower();
+ unsigned char Age(BlockState Block);
+ }
+ namespace ChorusPlant
+ {
+ constexpr BlockState ChorusPlant(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West)
+ {
+ if (Down)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 9064;
+ else return 9065;
+ else
+ if (West) return 9066;
+ else return 9067;
+ else
+ if (Up)
+ if (West) return 9068;
+ else return 9069;
+ else
+ if (West) return 9070;
+ else return 9071;
+ else
+ if (South)
+ if (Up)
+ if (West) return 9072;
+ else return 9073;
+ else
+ if (West) return 9074;
+ else return 9075;
+ else
+ if (Up)
+ if (West) return 9076;
+ else return 9077;
+ else
+ if (West) return 9078;
+ else return 9079;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 9080;
+ else return 9081;
+ else
+ if (West) return 9082;
+ else return 9083;
+ else
+ if (Up)
+ if (West) return 9084;
+ else return 9085;
+ else
+ if (West) return 9086;
+ else return 9087;
+ else
+ if (South)
+ if (Up)
+ if (West) return 9088;
+ else return 9089;
+ else
+ if (West) return 9090;
+ else return 9091;
+ else
+ if (Up)
+ if (West) return 9092;
+ else return 9093;
+ else
+ if (West) return 9094;
+ else return 9095;
+ else
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 9096;
+ else return 9097;
+ else
+ if (West) return 9098;
+ else return 9099;
+ else
+ if (Up)
+ if (West) return 9100;
+ else return 9101;
+ else
+ if (West) return 9102;
+ else return 9103;
+ else
+ if (South)
+ if (Up)
+ if (West) return 9104;
+ else return 9105;
+ else
+ if (West) return 9106;
+ else return 9107;
+ else
+ if (Up)
+ if (West) return 9108;
+ else return 9109;
+ else
+ if (West) return 9110;
+ else return 9111;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 9112;
+ else return 9113;
+ else
+ if (West) return 9114;
+ else return 9115;
+ else
+ if (Up)
+ if (West) return 9116;
+ else return 9117;
+ else
+ if (West) return 9118;
+ else return 9119;
+ else
+ if (South)
+ if (Up)
+ if (West) return 9120;
+ else return 9121;
+ else
+ if (West) return 9122;
+ else return 9123;
+ else
+ if (Up)
+ if (West) return 9124;
+ else return 9125;
+ else
+ if (West) return 9126;
+ else return 9127;
+ }
+ BlockState ChorusPlant();
+ bool Down(BlockState Block);
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool Up(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace Clay
+ {
+ constexpr BlockState Clay()
+ {
+ return 3947;
+ }
+ }
+ namespace CoalBlock
+ {
+ constexpr BlockState CoalBlock()
+ {
+ return 7883;
+ }
+ }
+ namespace CoalOre
+ {
+ constexpr BlockState CoalOre()
+ {
+ return 71;
+ }
+ }
+ namespace CoarseDirt
+ {
+ constexpr BlockState CoarseDirt()
+ {
+ return 11;
+ }
+ }
+ namespace Cobblestone
+ {
+ constexpr BlockState Cobblestone()
+ {
+ return 14;
+ }
+ }
+ namespace CobblestoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState CobblestoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8367;
+ else if (Type == Type::Bottom) return 8369;
+ else return 8371;
+ }
+ BlockState CobblestoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace CobblestoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState CobblestoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 3656;
+ else if (Shape == Shape::InnerLeft) return 3658;
+ else if (Shape == Shape::InnerRight) return 3660;
+ else if (Shape == Shape::OuterLeft) return 3662;
+ else return 3664;
+ else
+ if (Shape == Shape::Straight) return 3666;
+ else if (Shape == Shape::InnerLeft) return 3668;
+ else if (Shape == Shape::InnerRight) return 3670;
+ else if (Shape == Shape::OuterLeft) return 3672;
+ else return 3674;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 3676;
+ else if (Shape == Shape::InnerLeft) return 3678;
+ else if (Shape == Shape::InnerRight) return 3680;
+ else if (Shape == Shape::OuterLeft) return 3682;
+ else return 3684;
+ else
+ if (Shape == Shape::Straight) return 3686;
+ else if (Shape == Shape::InnerLeft) return 3688;
+ else if (Shape == Shape::InnerRight) return 3690;
+ else if (Shape == Shape::OuterLeft) return 3692;
+ else return 3694;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 3696;
+ else if (Shape == Shape::InnerLeft) return 3698;
+ else if (Shape == Shape::InnerRight) return 3700;
+ else if (Shape == Shape::OuterLeft) return 3702;
+ else return 3704;
+ else
+ if (Shape == Shape::Straight) return 3706;
+ else if (Shape == Shape::InnerLeft) return 3708;
+ else if (Shape == Shape::InnerRight) return 3710;
+ else if (Shape == Shape::OuterLeft) return 3712;
+ else return 3714;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 3716;
+ else if (Shape == Shape::InnerLeft) return 3718;
+ else if (Shape == Shape::InnerRight) return 3720;
+ else if (Shape == Shape::OuterLeft) return 3722;
+ else return 3724;
+ else
+ if (Shape == Shape::Straight) return 3726;
+ else if (Shape == Shape::InnerLeft) return 3728;
+ else if (Shape == Shape::InnerRight) return 3730;
+ else if (Shape == Shape::OuterLeft) return 3732;
+ else return 3734;
+ }
+ BlockState CobblestoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace CobblestoneWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState CobblestoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5660;
+ else if (West == West::Low) return 5661;
+ else return 5662;
+ else
+ if (West == West::None) return 5666;
+ else if (West == West::Low) return 5667;
+ else return 5668;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5672;
+ else if (West == West::Low) return 5673;
+ else return 5674;
+ else
+ if (West == West::None) return 5678;
+ else if (West == West::Low) return 5679;
+ else return 5680;
+ else
+ if (Up)
+ if (West == West::None) return 5684;
+ else if (West == West::Low) return 5685;
+ else return 5686;
+ else
+ if (West == West::None) return 5690;
+ else if (West == West::Low) return 5691;
+ else return 5692;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5696;
+ else if (West == West::Low) return 5697;
+ else return 5698;
+ else
+ if (West == West::None) return 5702;
+ else if (West == West::Low) return 5703;
+ else return 5704;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5708;
+ else if (West == West::Low) return 5709;
+ else return 5710;
+ else
+ if (West == West::None) return 5714;
+ else if (West == West::Low) return 5715;
+ else return 5716;
+ else
+ if (Up)
+ if (West == West::None) return 5720;
+ else if (West == West::Low) return 5721;
+ else return 5722;
+ else
+ if (West == West::None) return 5726;
+ else if (West == West::Low) return 5727;
+ else return 5728;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5732;
+ else if (West == West::Low) return 5733;
+ else return 5734;
+ else
+ if (West == West::None) return 5738;
+ else if (West == West::Low) return 5739;
+ else return 5740;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5744;
+ else if (West == West::Low) return 5745;
+ else return 5746;
+ else
+ if (West == West::None) return 5750;
+ else if (West == West::Low) return 5751;
+ else return 5752;
+ else
+ if (Up)
+ if (West == West::None) return 5756;
+ else if (West == West::Low) return 5757;
+ else return 5758;
+ else
+ if (West == West::None) return 5762;
+ else if (West == West::Low) return 5763;
+ else return 5764;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5768;
+ else if (West == West::Low) return 5769;
+ else return 5770;
+ else
+ if (West == West::None) return 5774;
+ else if (West == West::Low) return 5775;
+ else return 5776;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5780;
+ else if (West == West::Low) return 5781;
+ else return 5782;
+ else
+ if (West == West::None) return 5786;
+ else if (West == West::Low) return 5787;
+ else return 5788;
+ else
+ if (Up)
+ if (West == West::None) return 5792;
+ else if (West == West::Low) return 5793;
+ else return 5794;
+ else
+ if (West == West::None) return 5798;
+ else if (West == West::Low) return 5799;
+ else return 5800;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5804;
+ else if (West == West::Low) return 5805;
+ else return 5806;
+ else
+ if (West == West::None) return 5810;
+ else if (West == West::Low) return 5811;
+ else return 5812;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5816;
+ else if (West == West::Low) return 5817;
+ else return 5818;
+ else
+ if (West == West::None) return 5822;
+ else if (West == West::Low) return 5823;
+ else return 5824;
+ else
+ if (Up)
+ if (West == West::None) return 5828;
+ else if (West == West::Low) return 5829;
+ else return 5830;
+ else
+ if (West == West::None) return 5834;
+ else if (West == West::Low) return 5835;
+ else return 5836;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5840;
+ else if (West == West::Low) return 5841;
+ else return 5842;
+ else
+ if (West == West::None) return 5846;
+ else if (West == West::Low) return 5847;
+ else return 5848;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5852;
+ else if (West == West::Low) return 5853;
+ else return 5854;
+ else
+ if (West == West::None) return 5858;
+ else if (West == West::Low) return 5859;
+ else return 5860;
+ else
+ if (Up)
+ if (West == West::None) return 5864;
+ else if (West == West::Low) return 5865;
+ else return 5866;
+ else
+ if (West == West::None) return 5870;
+ else if (West == West::Low) return 5871;
+ else return 5872;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5876;
+ else if (West == West::Low) return 5877;
+ else return 5878;
+ else
+ if (West == West::None) return 5882;
+ else if (West == West::Low) return 5883;
+ else return 5884;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5888;
+ else if (West == West::Low) return 5889;
+ else return 5890;
+ else
+ if (West == West::None) return 5894;
+ else if (West == West::Low) return 5895;
+ else return 5896;
+ else
+ if (Up)
+ if (West == West::None) return 5900;
+ else if (West == West::Low) return 5901;
+ else return 5902;
+ else
+ if (West == West::None) return 5906;
+ else if (West == West::Low) return 5907;
+ else return 5908;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5912;
+ else if (West == West::Low) return 5913;
+ else return 5914;
+ else
+ if (West == West::None) return 5918;
+ else if (West == West::Low) return 5919;
+ else return 5920;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5924;
+ else if (West == West::Low) return 5925;
+ else return 5926;
+ else
+ if (West == West::None) return 5930;
+ else if (West == West::Low) return 5931;
+ else return 5932;
+ else
+ if (Up)
+ if (West == West::None) return 5936;
+ else if (West == West::Low) return 5937;
+ else return 5938;
+ else
+ if (West == West::None) return 5942;
+ else if (West == West::Low) return 5943;
+ else return 5944;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5948;
+ else if (West == West::Low) return 5949;
+ else return 5950;
+ else
+ if (West == West::None) return 5954;
+ else if (West == West::Low) return 5955;
+ else return 5956;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5960;
+ else if (West == West::Low) return 5961;
+ else return 5962;
+ else
+ if (West == West::None) return 5966;
+ else if (West == West::Low) return 5967;
+ else return 5968;
+ else
+ if (Up)
+ if (West == West::None) return 5972;
+ else if (West == West::Low) return 5973;
+ else return 5974;
+ else
+ if (West == West::None) return 5978;
+ else if (West == West::Low) return 5979;
+ else return 5980;
+ }
+ BlockState CobblestoneWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Cobweb
+ {
+ constexpr BlockState Cobweb()
+ {
+ return 1341;
+ }
+ }
+ namespace Cocoa
+ {
+ constexpr BlockState Cocoa(const unsigned char Age, const eBlockFace Facing)
+ {
+ if (Age == 0)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5158;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5159;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5160;
+ else return 5161;
+ else if (Age == 1)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5162;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5163;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5164;
+ else return 5165;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5166;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5167;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5168;
+ else return 5169;
+ }
+ BlockState Cocoa();
+ unsigned char Age(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace CommandBlock
+ {
+ constexpr BlockState CommandBlock(const bool Conditional, const eBlockFace Facing)
+ {
+ if (Conditional)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5644;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 5645;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5646;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5647;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 5648;
+ else return 5649;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5650;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 5651;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5652;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5653;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 5654;
+ else return 5655;
+ }
+ BlockState CommandBlock();
+ bool Conditional(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Comparator
+ {
+ enum class Mode
+ {
+ Compare,
+ Subtract
+ };
+ constexpr BlockState Comparator(const eBlockFace Facing, const enum Mode Mode, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Mode == Mode::Compare)
+ if (Powered) return 6678;
+ else return 6679;
+ else
+ if (Powered) return 6680;
+ else return 6681;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Mode == Mode::Compare)
+ if (Powered) return 6682;
+ else return 6683;
+ else
+ if (Powered) return 6684;
+ else return 6685;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Mode == Mode::Compare)
+ if (Powered) return 6686;
+ else return 6687;
+ else
+ if (Powered) return 6688;
+ else return 6689;
+ else
+ if (Mode == Mode::Compare)
+ if (Powered) return 6690;
+ else return 6691;
+ else
+ if (Powered) return 6692;
+ else return 6693;
+ }
+ BlockState Comparator();
+ eBlockFace Facing(BlockState Block);
+ enum Mode Mode(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace Composter
+ {
+ constexpr BlockState Composter(const unsigned char Level)
+ {
+ if (Level == 0) return 15751;
+ else if (Level == 1) return 15752;
+ else if (Level == 2) return 15753;
+ else if (Level == 3) return 15754;
+ else if (Level == 4) return 15755;
+ else if (Level == 5) return 15756;
+ else if (Level == 6) return 15757;
+ else if (Level == 7) return 15758;
+ else return 15759;
+ }
+ BlockState Composter();
+ unsigned char Level(BlockState Block);
+ }
+ namespace Conduit
+ {
+ constexpr BlockState Conduit()
+ {
+ return 9650;
+ }
+ }
+ namespace Cornflower
+ {
+ constexpr BlockState Cornflower()
+ {
+ return 1422;
+ }
+ }
+ namespace CrackedNetherBricks
+ {
+ constexpr BlockState CrackedNetherBricks()
+ {
+ return 17102;
+ }
+ }
+ namespace CrackedPolishedBlackstoneBricks
+ {
+ constexpr BlockState CrackedPolishedBlackstoneBricks()
+ {
+ return 16252;
+ }
+ }
+ namespace CrackedStoneBricks
+ {
+ constexpr BlockState CrackedStoneBricks()
+ {
+ return 4497;
+ }
+ }
+ namespace CraftingTable
+ {
+ constexpr BlockState CraftingTable()
+ {
+ return 3356;
+ }
+ }
+ namespace CreeperHead
+ {
+ constexpr BlockState CreeperHead(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 6570;
+ else if (Rotation == 1) return 6571;
+ else if (Rotation == 2) return 6572;
+ else if (Rotation == 3) return 6573;
+ else if (Rotation == 4) return 6574;
+ else if (Rotation == 5) return 6575;
+ else if (Rotation == 6) return 6576;
+ else if (Rotation == 7) return 6577;
+ else if (Rotation == 8) return 6578;
+ else if (Rotation == 9) return 6579;
+ else if (Rotation == 10) return 6580;
+ else if (Rotation == 11) return 6581;
+ else if (Rotation == 12) return 6582;
+ else if (Rotation == 13) return 6583;
+ else if (Rotation == 14) return 6584;
+ else return 6585;
+ }
+ BlockState CreeperHead();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace CreeperWallHead
+ {
+ constexpr BlockState CreeperWallHead(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6586;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6587;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6588;
+ else return 6589;
+ }
+ BlockState CreeperWallHead();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace CrimsonButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState CrimsonButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 15479;
+ else return 15480;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 15481;
+ else return 15482;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 15483;
+ else return 15484;
+ else
+ if (Powered) return 15485;
+ else return 15486;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 15487;
+ else return 15488;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 15489;
+ else return 15490;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 15491;
+ else return 15492;
+ else
+ if (Powered) return 15493;
+ else return 15494;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 15495;
+ else return 15496;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 15497;
+ else return 15498;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 15499;
+ else return 15500;
+ else
+ if (Powered) return 15501;
+ else return 15502;
+ }
+ BlockState CrimsonButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace CrimsonDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState CrimsonDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15527;
+ else return 15528;
+ else
+ if (Powered) return 15529;
+ else return 15530;
+ else
+ if (Open)
+ if (Powered) return 15531;
+ else return 15532;
+ else
+ if (Powered) return 15533;
+ else return 15534;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15535;
+ else return 15536;
+ else
+ if (Powered) return 15537;
+ else return 15538;
+ else
+ if (Open)
+ if (Powered) return 15539;
+ else return 15540;
+ else
+ if (Powered) return 15541;
+ else return 15542;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15543;
+ else return 15544;
+ else
+ if (Powered) return 15545;
+ else return 15546;
+ else
+ if (Open)
+ if (Powered) return 15547;
+ else return 15548;
+ else
+ if (Powered) return 15549;
+ else return 15550;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15551;
+ else return 15552;
+ else
+ if (Powered) return 15553;
+ else return 15554;
+ else
+ if (Open)
+ if (Powered) return 15555;
+ else return 15556;
+ else
+ if (Powered) return 15557;
+ else return 15558;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15559;
+ else return 15560;
+ else
+ if (Powered) return 15561;
+ else return 15562;
+ else
+ if (Open)
+ if (Powered) return 15563;
+ else return 15564;
+ else
+ if (Powered) return 15565;
+ else return 15566;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15567;
+ else return 15568;
+ else
+ if (Powered) return 15569;
+ else return 15570;
+ else
+ if (Open)
+ if (Powered) return 15571;
+ else return 15572;
+ else
+ if (Powered) return 15573;
+ else return 15574;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15575;
+ else return 15576;
+ else
+ if (Powered) return 15577;
+ else return 15578;
+ else
+ if (Open)
+ if (Powered) return 15579;
+ else return 15580;
+ else
+ if (Powered) return 15581;
+ else return 15582;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15583;
+ else return 15584;
+ else
+ if (Powered) return 15585;
+ else return 15586;
+ else
+ if (Open)
+ if (Powered) return 15587;
+ else return 15588;
+ else
+ if (Powered) return 15589;
+ else return 15590;
+ }
+ BlockState CrimsonDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace CrimsonFence
+ {
+ constexpr BlockState CrimsonFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 15065;
+ else return 15066;
+ else
+ if (West) return 15069;
+ else return 15070;
+ else
+ if (South)
+ if (West) return 15073;
+ else return 15074;
+ else
+ if (West) return 15077;
+ else return 15078;
+ else
+ if (North)
+ if (South)
+ if (West) return 15081;
+ else return 15082;
+ else
+ if (West) return 15085;
+ else return 15086;
+ else
+ if (South)
+ if (West) return 15089;
+ else return 15090;
+ else
+ if (West) return 15093;
+ else return 15094;
+ }
+ BlockState CrimsonFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace CrimsonFenceGate
+ {
+ constexpr BlockState CrimsonFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 15255;
+ else return 15256;
+ else
+ if (Powered) return 15257;
+ else return 15258;
+ else
+ if (Open)
+ if (Powered) return 15259;
+ else return 15260;
+ else
+ if (Powered) return 15261;
+ else return 15262;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 15263;
+ else return 15264;
+ else
+ if (Powered) return 15265;
+ else return 15266;
+ else
+ if (Open)
+ if (Powered) return 15267;
+ else return 15268;
+ else
+ if (Powered) return 15269;
+ else return 15270;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 15271;
+ else return 15272;
+ else
+ if (Powered) return 15273;
+ else return 15274;
+ else
+ if (Open)
+ if (Powered) return 15275;
+ else return 15276;
+ else
+ if (Powered) return 15277;
+ else return 15278;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 15279;
+ else return 15280;
+ else
+ if (Powered) return 15281;
+ else return 15282;
+ else
+ if (Open)
+ if (Powered) return 15283;
+ else return 15284;
+ else
+ if (Powered) return 15285;
+ else return 15286;
+ }
+ BlockState CrimsonFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace CrimsonFungus
+ {
+ constexpr BlockState CrimsonFungus()
+ {
+ return 14988;
+ }
+ }
+ namespace CrimsonHyphae
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState CrimsonHyphae(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14981;
+ else if (Axis == Axis::Y) return 14982;
+ else return 14983;
+ }
+ BlockState CrimsonHyphae();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace CrimsonNylium
+ {
+ constexpr BlockState CrimsonNylium()
+ {
+ return 14987;
+ }
+ }
+ namespace CrimsonPlanks
+ {
+ constexpr BlockState CrimsonPlanks()
+ {
+ return 15045;
+ }
+ }
+ namespace CrimsonPressurePlate
+ {
+ constexpr BlockState CrimsonPressurePlate(const bool Powered)
+ {
+ if (Powered) return 15059;
+ else return 15060;
+ }
+ BlockState CrimsonPressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace CrimsonRoots
+ {
+ constexpr BlockState CrimsonRoots()
+ {
+ return 15044;
+ }
+ }
+ namespace CrimsonSign
+ {
+ constexpr BlockState CrimsonSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 15656;
+ else if (Rotation == 1) return 15658;
+ else if (Rotation == 2) return 15660;
+ else if (Rotation == 3) return 15662;
+ else if (Rotation == 4) return 15664;
+ else if (Rotation == 5) return 15666;
+ else if (Rotation == 6) return 15668;
+ else if (Rotation == 7) return 15670;
+ else if (Rotation == 8) return 15672;
+ else if (Rotation == 9) return 15674;
+ else if (Rotation == 10) return 15676;
+ else if (Rotation == 11) return 15678;
+ else if (Rotation == 12) return 15680;
+ else if (Rotation == 13) return 15682;
+ else if (Rotation == 14) return 15684;
+ else return 15686;
+ }
+ BlockState CrimsonSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace CrimsonSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState CrimsonSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 15048;
+ else if (Type == Type::Bottom) return 15050;
+ else return 15052;
+ }
+ BlockState CrimsonSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace CrimsonStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState CrimsonStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15320;
+ else if (Shape == Shape::InnerLeft) return 15322;
+ else if (Shape == Shape::InnerRight) return 15324;
+ else if (Shape == Shape::OuterLeft) return 15326;
+ else return 15328;
+ else
+ if (Shape == Shape::Straight) return 15330;
+ else if (Shape == Shape::InnerLeft) return 15332;
+ else if (Shape == Shape::InnerRight) return 15334;
+ else if (Shape == Shape::OuterLeft) return 15336;
+ else return 15338;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15340;
+ else if (Shape == Shape::InnerLeft) return 15342;
+ else if (Shape == Shape::InnerRight) return 15344;
+ else if (Shape == Shape::OuterLeft) return 15346;
+ else return 15348;
+ else
+ if (Shape == Shape::Straight) return 15350;
+ else if (Shape == Shape::InnerLeft) return 15352;
+ else if (Shape == Shape::InnerRight) return 15354;
+ else if (Shape == Shape::OuterLeft) return 15356;
+ else return 15358;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15360;
+ else if (Shape == Shape::InnerLeft) return 15362;
+ else if (Shape == Shape::InnerRight) return 15364;
+ else if (Shape == Shape::OuterLeft) return 15366;
+ else return 15368;
+ else
+ if (Shape == Shape::Straight) return 15370;
+ else if (Shape == Shape::InnerLeft) return 15372;
+ else if (Shape == Shape::InnerRight) return 15374;
+ else if (Shape == Shape::OuterLeft) return 15376;
+ else return 15378;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15380;
+ else if (Shape == Shape::InnerLeft) return 15382;
+ else if (Shape == Shape::InnerRight) return 15384;
+ else if (Shape == Shape::OuterLeft) return 15386;
+ else return 15388;
+ else
+ if (Shape == Shape::Straight) return 15390;
+ else if (Shape == Shape::InnerLeft) return 15392;
+ else if (Shape == Shape::InnerRight) return 15394;
+ else if (Shape == Shape::OuterLeft) return 15396;
+ else return 15398;
+ }
+ BlockState CrimsonStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace CrimsonStem
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState CrimsonStem(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14975;
+ else if (Axis == Axis::Y) return 14976;
+ else return 14977;
+ }
+ BlockState CrimsonStem();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace CrimsonTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState CrimsonTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15128;
+ else return 15130;
+ else
+ if (Powered) return 15132;
+ else return 15134;
+ else
+ if (Open)
+ if (Powered) return 15136;
+ else return 15138;
+ else
+ if (Powered) return 15140;
+ else return 15142;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15144;
+ else return 15146;
+ else
+ if (Powered) return 15148;
+ else return 15150;
+ else
+ if (Open)
+ if (Powered) return 15152;
+ else return 15154;
+ else
+ if (Powered) return 15156;
+ else return 15158;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15160;
+ else return 15162;
+ else
+ if (Powered) return 15164;
+ else return 15166;
+ else
+ if (Open)
+ if (Powered) return 15168;
+ else return 15170;
+ else
+ if (Powered) return 15172;
+ else return 15174;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15176;
+ else return 15178;
+ else
+ if (Powered) return 15180;
+ else return 15182;
+ else
+ if (Open)
+ if (Powered) return 15184;
+ else return 15186;
+ else
+ if (Powered) return 15188;
+ else return 15190;
+ }
+ BlockState CrimsonTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace CrimsonWallSign
+ {
+ constexpr BlockState CrimsonWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 15720;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 15722;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 15724;
+ else return 15726;
+ }
+ BlockState CrimsonWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace CryingObsidian
+ {
+ constexpr BlockState CryingObsidian()
+ {
+ return 15828;
+ }
+ }
+ namespace CutRedSandstone
+ {
+ constexpr BlockState CutRedSandstone()
+ {
+ return 8219;
+ }
+ }
+ namespace CutRedSandstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState CutRedSandstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8403;
+ else if (Type == Type::Bottom) return 8405;
+ else return 8407;
+ }
+ BlockState CutRedSandstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace CutSandstone
+ {
+ constexpr BlockState CutSandstone()
+ {
+ return 248;
+ }
+ }
+ namespace CutSandstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState CutSandstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8355;
+ else if (Type == Type::Bottom) return 8357;
+ else return 8359;
+ }
+ BlockState CutSandstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace CyanBanner
+ {
+ constexpr BlockState CyanBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8041;
+ else if (Rotation == 1) return 8042;
+ else if (Rotation == 2) return 8043;
+ else if (Rotation == 3) return 8044;
+ else if (Rotation == 4) return 8045;
+ else if (Rotation == 5) return 8046;
+ else if (Rotation == 6) return 8047;
+ else if (Rotation == 7) return 8048;
+ else if (Rotation == 8) return 8049;
+ else if (Rotation == 9) return 8050;
+ else if (Rotation == 10) return 8051;
+ else if (Rotation == 11) return 8052;
+ else if (Rotation == 12) return 8053;
+ else if (Rotation == 13) return 8054;
+ else if (Rotation == 14) return 8055;
+ else return 8056;
+ }
+ BlockState CyanBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace CyanBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState CyanBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1193;
+ else return 1194;
+ else
+ if (Part == Part::Head) return 1195;
+ else return 1196;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1197;
+ else return 1198;
+ else
+ if (Part == Part::Head) return 1199;
+ else return 1200;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1201;
+ else return 1202;
+ else
+ if (Part == Part::Head) return 1203;
+ else return 1204;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1205;
+ else return 1206;
+ else
+ if (Part == Part::Head) return 1207;
+ else return 1208;
+ }
+ BlockState CyanBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace CyanCarpet
+ {
+ constexpr BlockState CyanCarpet()
+ {
+ return 7875;
+ }
+ }
+ namespace CyanConcrete
+ {
+ constexpr BlockState CyanConcrete()
+ {
+ return 9447;
+ }
+ }
+ namespace CyanConcretePowder
+ {
+ constexpr BlockState CyanConcretePowder()
+ {
+ return 9463;
+ }
+ }
+ namespace CyanGlazedTerracotta
+ {
+ constexpr BlockState CyanGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9410;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9411;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9412;
+ else return 9413;
+ }
+ BlockState CyanGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace CyanShulkerBox
+ {
+ constexpr BlockState CyanShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9332;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9333;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9334;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9335;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9336;
+ else return 9337;
+ }
+ BlockState CyanShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace CyanStainedGlass
+ {
+ constexpr BlockState CyanStainedGlass()
+ {
+ return 4104;
+ }
+ }
+ namespace CyanStainedGlassPane
+ {
+ constexpr BlockState CyanStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7153;
+ else return 7154;
+ else
+ if (West) return 7157;
+ else return 7158;
+ else
+ if (South)
+ if (West) return 7161;
+ else return 7162;
+ else
+ if (West) return 7165;
+ else return 7166;
+ else
+ if (North)
+ if (South)
+ if (West) return 7169;
+ else return 7170;
+ else
+ if (West) return 7173;
+ else return 7174;
+ else
+ if (South)
+ if (West) return 7177;
+ else return 7178;
+ else
+ if (West) return 7181;
+ else return 7182;
+ }
+ BlockState CyanStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace CyanTerracotta
+ {
+ constexpr BlockState CyanTerracotta()
+ {
+ return 6856;
+ }
+ }
+ namespace CyanWallBanner
+ {
+ constexpr BlockState CyanWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8189;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8190;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8191;
+ else return 8192;
+ }
+ BlockState CyanWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace CyanWool
+ {
+ constexpr BlockState CyanWool()
+ {
+ return 1393;
+ }
+ }
+ namespace DamagedAnvil
+ {
+ constexpr BlockState DamagedAnvil(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6618;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6619;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6620;
+ else return 6621;
+ }
+ BlockState DamagedAnvil();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Dandelion
+ {
+ constexpr BlockState Dandelion()
+ {
+ return 1412;
+ }
+ }
+ namespace DarkOakButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState DarkOakButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6466;
+ else return 6467;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6468;
+ else return 6469;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6470;
+ else return 6471;
+ else
+ if (Powered) return 6472;
+ else return 6473;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6474;
+ else return 6475;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6476;
+ else return 6477;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6478;
+ else return 6479;
+ else
+ if (Powered) return 6480;
+ else return 6481;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6482;
+ else return 6483;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6484;
+ else return 6485;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6486;
+ else return 6487;
+ else
+ if (Powered) return 6488;
+ else return 6489;
+ }
+ BlockState DarkOakButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace DarkOakDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState DarkOakDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8994;
+ else return 8995;
+ else
+ if (Powered) return 8996;
+ else return 8997;
+ else
+ if (Open)
+ if (Powered) return 8998;
+ else return 8999;
+ else
+ if (Powered) return 9000;
+ else return 9001;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 9002;
+ else return 9003;
+ else
+ if (Powered) return 9004;
+ else return 9005;
+ else
+ if (Open)
+ if (Powered) return 9006;
+ else return 9007;
+ else
+ if (Powered) return 9008;
+ else return 9009;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 9010;
+ else return 9011;
+ else
+ if (Powered) return 9012;
+ else return 9013;
+ else
+ if (Open)
+ if (Powered) return 9014;
+ else return 9015;
+ else
+ if (Powered) return 9016;
+ else return 9017;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 9018;
+ else return 9019;
+ else
+ if (Powered) return 9020;
+ else return 9021;
+ else
+ if (Open)
+ if (Powered) return 9022;
+ else return 9023;
+ else
+ if (Powered) return 9024;
+ else return 9025;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 9026;
+ else return 9027;
+ else
+ if (Powered) return 9028;
+ else return 9029;
+ else
+ if (Open)
+ if (Powered) return 9030;
+ else return 9031;
+ else
+ if (Powered) return 9032;
+ else return 9033;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 9034;
+ else return 9035;
+ else
+ if (Powered) return 9036;
+ else return 9037;
+ else
+ if (Open)
+ if (Powered) return 9038;
+ else return 9039;
+ else
+ if (Powered) return 9040;
+ else return 9041;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 9042;
+ else return 9043;
+ else
+ if (Powered) return 9044;
+ else return 9045;
+ else
+ if (Open)
+ if (Powered) return 9046;
+ else return 9047;
+ else
+ if (Powered) return 9048;
+ else return 9049;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 9050;
+ else return 9051;
+ else
+ if (Powered) return 9052;
+ else return 9053;
+ else
+ if (Open)
+ if (Powered) return 9054;
+ else return 9055;
+ else
+ if (Powered) return 9056;
+ else return 9057;
+ }
+ BlockState DarkOakDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace DarkOakFence
+ {
+ constexpr BlockState DarkOakFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 8708;
+ else return 8709;
+ else
+ if (West) return 8712;
+ else return 8713;
+ else
+ if (South)
+ if (West) return 8716;
+ else return 8717;
+ else
+ if (West) return 8720;
+ else return 8721;
+ else
+ if (North)
+ if (South)
+ if (West) return 8724;
+ else return 8725;
+ else
+ if (West) return 8728;
+ else return 8729;
+ else
+ if (South)
+ if (West) return 8732;
+ else return 8733;
+ else
+ if (West) return 8736;
+ else return 8737;
+ }
+ BlockState DarkOakFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace DarkOakFenceGate
+ {
+ constexpr BlockState DarkOakFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8546;
+ else return 8547;
+ else
+ if (Powered) return 8548;
+ else return 8549;
+ else
+ if (Open)
+ if (Powered) return 8550;
+ else return 8551;
+ else
+ if (Powered) return 8552;
+ else return 8553;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8554;
+ else return 8555;
+ else
+ if (Powered) return 8556;
+ else return 8557;
+ else
+ if (Open)
+ if (Powered) return 8558;
+ else return 8559;
+ else
+ if (Powered) return 8560;
+ else return 8561;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8562;
+ else return 8563;
+ else
+ if (Powered) return 8564;
+ else return 8565;
+ else
+ if (Open)
+ if (Powered) return 8566;
+ else return 8567;
+ else
+ if (Powered) return 8568;
+ else return 8569;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 8570;
+ else return 8571;
+ else
+ if (Powered) return 8572;
+ else return 8573;
+ else
+ if (Open)
+ if (Powered) return 8574;
+ else return 8575;
+ else
+ if (Powered) return 8576;
+ else return 8577;
+ }
+ BlockState DarkOakFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace DarkOakLeaves
+ {
+ constexpr BlockState DarkOakLeaves(const unsigned char Distance, const bool Persistent)
+ {
+ if (Distance == 1)
+ if (Persistent) return 215;
+ else return 216;
+ else if (Distance == 2)
+ if (Persistent) return 217;
+ else return 218;
+ else if (Distance == 3)
+ if (Persistent) return 219;
+ else return 220;
+ else if (Distance == 4)
+ if (Persistent) return 221;
+ else return 222;
+ else if (Distance == 5)
+ if (Persistent) return 223;
+ else return 224;
+ else if (Distance == 6)
+ if (Persistent) return 225;
+ else return 226;
+ else
+ if (Persistent) return 227;
+ else return 228;
+ }
+ BlockState DarkOakLeaves();
+ unsigned char Distance(BlockState Block);
+ bool Persistent(BlockState Block);
+ }
+ namespace DarkOakLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState DarkOakLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 88;
+ else if (Axis == Axis::Y) return 89;
+ else return 90;
+ }
+ BlockState DarkOakLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace DarkOakPlanks
+ {
+ constexpr BlockState DarkOakPlanks()
+ {
+ return 20;
+ }
+ }
+ namespace DarkOakPressurePlate
+ {
+ constexpr BlockState DarkOakPressurePlate(const bool Powered)
+ {
+ if (Powered) return 3883;
+ else return 3884;
+ }
+ BlockState DarkOakPressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace DarkOakSapling
+ {
+ constexpr BlockState DarkOakSapling(const unsigned char Stage)
+ {
+ if (Stage == 0) return 31;
+ else return 32;
+ }
+ BlockState DarkOakSapling();
+ unsigned char Stage(BlockState Block);
+ }
+ namespace DarkOakSign
+ {
+ constexpr BlockState DarkOakSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 3542;
+ else if (Rotation == 1) return 3544;
+ else if (Rotation == 2) return 3546;
+ else if (Rotation == 3) return 3548;
+ else if (Rotation == 4) return 3550;
+ else if (Rotation == 5) return 3552;
+ else if (Rotation == 6) return 3554;
+ else if (Rotation == 7) return 3556;
+ else if (Rotation == 8) return 3558;
+ else if (Rotation == 9) return 3560;
+ else if (Rotation == 10) return 3562;
+ else if (Rotation == 11) return 3564;
+ else if (Rotation == 12) return 3566;
+ else if (Rotation == 13) return 3568;
+ else if (Rotation == 14) return 3570;
+ else return 3572;
+ }
+ BlockState DarkOakSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace DarkOakSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState DarkOakSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8331;
+ else if (Type == Type::Bottom) return 8333;
+ else return 8335;
+ }
+ BlockState DarkOakSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace DarkOakStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState DarkOakStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7456;
+ else if (Shape == Shape::InnerLeft) return 7458;
+ else if (Shape == Shape::InnerRight) return 7460;
+ else if (Shape == Shape::OuterLeft) return 7462;
+ else return 7464;
+ else
+ if (Shape == Shape::Straight) return 7466;
+ else if (Shape == Shape::InnerLeft) return 7468;
+ else if (Shape == Shape::InnerRight) return 7470;
+ else if (Shape == Shape::OuterLeft) return 7472;
+ else return 7474;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7476;
+ else if (Shape == Shape::InnerLeft) return 7478;
+ else if (Shape == Shape::InnerRight) return 7480;
+ else if (Shape == Shape::OuterLeft) return 7482;
+ else return 7484;
+ else
+ if (Shape == Shape::Straight) return 7486;
+ else if (Shape == Shape::InnerLeft) return 7488;
+ else if (Shape == Shape::InnerRight) return 7490;
+ else if (Shape == Shape::OuterLeft) return 7492;
+ else return 7494;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7496;
+ else if (Shape == Shape::InnerLeft) return 7498;
+ else if (Shape == Shape::InnerRight) return 7500;
+ else if (Shape == Shape::OuterLeft) return 7502;
+ else return 7504;
+ else
+ if (Shape == Shape::Straight) return 7506;
+ else if (Shape == Shape::InnerLeft) return 7508;
+ else if (Shape == Shape::InnerRight) return 7510;
+ else if (Shape == Shape::OuterLeft) return 7512;
+ else return 7514;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7516;
+ else if (Shape == Shape::InnerLeft) return 7518;
+ else if (Shape == Shape::InnerRight) return 7520;
+ else if (Shape == Shape::OuterLeft) return 7522;
+ else return 7524;
+ else
+ if (Shape == Shape::Straight) return 7526;
+ else if (Shape == Shape::InnerLeft) return 7528;
+ else if (Shape == Shape::InnerRight) return 7530;
+ else if (Shape == Shape::OuterLeft) return 7532;
+ else return 7534;
+ }
+ BlockState DarkOakStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace DarkOakTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState DarkOakTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4432;
+ else return 4434;
+ else
+ if (Powered) return 4436;
+ else return 4438;
+ else
+ if (Open)
+ if (Powered) return 4440;
+ else return 4442;
+ else
+ if (Powered) return 4444;
+ else return 4446;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4448;
+ else return 4450;
+ else
+ if (Powered) return 4452;
+ else return 4454;
+ else
+ if (Open)
+ if (Powered) return 4456;
+ else return 4458;
+ else
+ if (Powered) return 4460;
+ else return 4462;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4464;
+ else return 4466;
+ else
+ if (Powered) return 4468;
+ else return 4470;
+ else
+ if (Open)
+ if (Powered) return 4472;
+ else return 4474;
+ else
+ if (Powered) return 4476;
+ else return 4478;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4480;
+ else return 4482;
+ else
+ if (Powered) return 4484;
+ else return 4486;
+ else
+ if (Open)
+ if (Powered) return 4488;
+ else return 4490;
+ else
+ if (Powered) return 4492;
+ else return 4494;
+ }
+ BlockState DarkOakTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace DarkOakWallSign
+ {
+ constexpr BlockState DarkOakWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3776;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3778;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3780;
+ else return 3782;
+ }
+ BlockState DarkOakWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace DarkOakWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState DarkOakWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 124;
+ else if (Axis == Axis::Y) return 125;
+ else return 126;
+ }
+ BlockState DarkOakWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace DarkPrismarine
+ {
+ constexpr BlockState DarkPrismarine()
+ {
+ return 7603;
+ }
+ }
+ namespace DarkPrismarineSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState DarkPrismarineSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 7857;
+ else if (Type == Type::Bottom) return 7859;
+ else return 7861;
+ }
+ BlockState DarkPrismarineSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace DarkPrismarineStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState DarkPrismarineStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7765;
+ else if (Shape == Shape::InnerLeft) return 7767;
+ else if (Shape == Shape::InnerRight) return 7769;
+ else if (Shape == Shape::OuterLeft) return 7771;
+ else return 7773;
+ else
+ if (Shape == Shape::Straight) return 7775;
+ else if (Shape == Shape::InnerLeft) return 7777;
+ else if (Shape == Shape::InnerRight) return 7779;
+ else if (Shape == Shape::OuterLeft) return 7781;
+ else return 7783;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7785;
+ else if (Shape == Shape::InnerLeft) return 7787;
+ else if (Shape == Shape::InnerRight) return 7789;
+ else if (Shape == Shape::OuterLeft) return 7791;
+ else return 7793;
+ else
+ if (Shape == Shape::Straight) return 7795;
+ else if (Shape == Shape::InnerLeft) return 7797;
+ else if (Shape == Shape::InnerRight) return 7799;
+ else if (Shape == Shape::OuterLeft) return 7801;
+ else return 7803;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7805;
+ else if (Shape == Shape::InnerLeft) return 7807;
+ else if (Shape == Shape::InnerRight) return 7809;
+ else if (Shape == Shape::OuterLeft) return 7811;
+ else return 7813;
+ else
+ if (Shape == Shape::Straight) return 7815;
+ else if (Shape == Shape::InnerLeft) return 7817;
+ else if (Shape == Shape::InnerRight) return 7819;
+ else if (Shape == Shape::OuterLeft) return 7821;
+ else return 7823;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7825;
+ else if (Shape == Shape::InnerLeft) return 7827;
+ else if (Shape == Shape::InnerRight) return 7829;
+ else if (Shape == Shape::OuterLeft) return 7831;
+ else return 7833;
+ else
+ if (Shape == Shape::Straight) return 7835;
+ else if (Shape == Shape::InnerLeft) return 7837;
+ else if (Shape == Shape::InnerRight) return 7839;
+ else if (Shape == Shape::OuterLeft) return 7841;
+ else return 7843;
+ }
+ BlockState DarkPrismarineStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace DaylightDetector
+ {
+ constexpr BlockState DaylightDetector(const bool Inverted, const unsigned char Power)
+ {
+ if (Inverted)
+ if (Power == 0) return 6694;
+ else if (Power == 1) return 6695;
+ else if (Power == 2) return 6696;
+ else if (Power == 3) return 6697;
+ else if (Power == 4) return 6698;
+ else if (Power == 5) return 6699;
+ else if (Power == 6) return 6700;
+ else if (Power == 7) return 6701;
+ else if (Power == 8) return 6702;
+ else if (Power == 9) return 6703;
+ else if (Power == 10) return 6704;
+ else if (Power == 11) return 6705;
+ else if (Power == 12) return 6706;
+ else if (Power == 13) return 6707;
+ else if (Power == 14) return 6708;
+ else return 6709;
+ else
+ if (Power == 0) return 6710;
+ else if (Power == 1) return 6711;
+ else if (Power == 2) return 6712;
+ else if (Power == 3) return 6713;
+ else if (Power == 4) return 6714;
+ else if (Power == 5) return 6715;
+ else if (Power == 6) return 6716;
+ else if (Power == 7) return 6717;
+ else if (Power == 8) return 6718;
+ else if (Power == 9) return 6719;
+ else if (Power == 10) return 6720;
+ else if (Power == 11) return 6721;
+ else if (Power == 12) return 6722;
+ else if (Power == 13) return 6723;
+ else if (Power == 14) return 6724;
+ else return 6725;
+ }
+ BlockState DaylightDetector();
+ bool Inverted(BlockState Block);
+ unsigned char Power(BlockState Block);
+ }
+ namespace DeadBrainCoral
+ {
+ constexpr BlockState DeadBrainCoral()
+ {
+ return 9523;
+ }
+ }
+ namespace DeadBrainCoralBlock
+ {
+ constexpr BlockState DeadBrainCoralBlock()
+ {
+ return 9511;
+ }
+ }
+ namespace DeadBrainCoralFan
+ {
+ constexpr BlockState DeadBrainCoralFan()
+ {
+ return 9543;
+ }
+ }
+ namespace DeadBrainCoralWallFan
+ {
+ constexpr BlockState DeadBrainCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9569;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9571;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9573;
+ else return 9575;
+ }
+ BlockState DeadBrainCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace DeadBubbleCoral
+ {
+ constexpr BlockState DeadBubbleCoral()
+ {
+ return 9525;
+ }
+ }
+ namespace DeadBubbleCoralBlock
+ {
+ constexpr BlockState DeadBubbleCoralBlock()
+ {
+ return 9512;
+ }
+ }
+ namespace DeadBubbleCoralFan
+ {
+ constexpr BlockState DeadBubbleCoralFan()
+ {
+ return 9545;
+ }
+ }
+ namespace DeadBubbleCoralWallFan
+ {
+ constexpr BlockState DeadBubbleCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9577;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9579;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9581;
+ else return 9583;
+ }
+ BlockState DeadBubbleCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace DeadBush
+ {
+ constexpr BlockState DeadBush()
+ {
+ return 1344;
+ }
+ }
+ namespace DeadFireCoral
+ {
+ constexpr BlockState DeadFireCoral()
+ {
+ return 9527;
+ }
+ }
+ namespace DeadFireCoralBlock
+ {
+ constexpr BlockState DeadFireCoralBlock()
+ {
+ return 9513;
+ }
+ }
+ namespace DeadFireCoralFan
+ {
+ constexpr BlockState DeadFireCoralFan()
+ {
+ return 9547;
+ }
+ }
+ namespace DeadFireCoralWallFan
+ {
+ constexpr BlockState DeadFireCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9585;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9587;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9589;
+ else return 9591;
+ }
+ BlockState DeadFireCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace DeadHornCoral
+ {
+ constexpr BlockState DeadHornCoral()
+ {
+ return 9529;
+ }
+ }
+ namespace DeadHornCoralBlock
+ {
+ constexpr BlockState DeadHornCoralBlock()
+ {
+ return 9514;
+ }
+ }
+ namespace DeadHornCoralFan
+ {
+ constexpr BlockState DeadHornCoralFan()
+ {
+ return 9549;
+ }
+ }
+ namespace DeadHornCoralWallFan
+ {
+ constexpr BlockState DeadHornCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9593;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9595;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9597;
+ else return 9599;
+ }
+ BlockState DeadHornCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace DeadTubeCoral
+ {
+ constexpr BlockState DeadTubeCoral()
+ {
+ return 9521;
+ }
+ }
+ namespace DeadTubeCoralBlock
+ {
+ constexpr BlockState DeadTubeCoralBlock()
+ {
+ return 9510;
+ }
+ }
+ namespace DeadTubeCoralFan
+ {
+ constexpr BlockState DeadTubeCoralFan()
+ {
+ return 9541;
+ }
+ }
+ namespace DeadTubeCoralWallFan
+ {
+ constexpr BlockState DeadTubeCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9561;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9563;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9565;
+ else return 9567;
+ }
+ BlockState DeadTubeCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace DetectorRail
+ {
+ enum class Shape
+ {
+ NorthSouth,
+ EastWest,
+ AscendingEast,
+ AscendingWest,
+ AscendingNorth,
+ AscendingSouth
+ };
+ constexpr BlockState DetectorRail(const bool Powered, const enum Shape Shape)
+ {
+ if (Powered)
+ if (Shape == Shape::NorthSouth) return 1317;
+ else if (Shape == Shape::EastWest) return 1318;
+ else if (Shape == Shape::AscendingEast) return 1319;
+ else if (Shape == Shape::AscendingWest) return 1320;
+ else if (Shape == Shape::AscendingNorth) return 1321;
+ else return 1322;
+ else
+ if (Shape == Shape::NorthSouth) return 1323;
+ else if (Shape == Shape::EastWest) return 1324;
+ else if (Shape == Shape::AscendingEast) return 1325;
+ else if (Shape == Shape::AscendingWest) return 1326;
+ else if (Shape == Shape::AscendingNorth) return 1327;
+ else return 1328;
+ }
+ BlockState DetectorRail();
+ bool Powered(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace DiamondBlock
+ {
+ constexpr BlockState DiamondBlock()
+ {
+ return 3355;
+ }
+ }
+ namespace DiamondOre
+ {
+ constexpr BlockState DiamondOre()
+ {
+ return 3354;
+ }
+ }
+ namespace Diorite
+ {
+ constexpr BlockState Diorite()
+ {
+ return 4;
+ }
+ }
+ namespace DioriteSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState DioriteSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10862;
+ else if (Type == Type::Bottom) return 10864;
+ else return 10866;
+ }
+ BlockState DioriteSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace DioriteStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState DioriteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10710;
+ else if (Shape == Shape::InnerLeft) return 10712;
+ else if (Shape == Shape::InnerRight) return 10714;
+ else if (Shape == Shape::OuterLeft) return 10716;
+ else return 10718;
+ else
+ if (Shape == Shape::Straight) return 10720;
+ else if (Shape == Shape::InnerLeft) return 10722;
+ else if (Shape == Shape::InnerRight) return 10724;
+ else if (Shape == Shape::OuterLeft) return 10726;
+ else return 10728;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10730;
+ else if (Shape == Shape::InnerLeft) return 10732;
+ else if (Shape == Shape::InnerRight) return 10734;
+ else if (Shape == Shape::OuterLeft) return 10736;
+ else return 10738;
+ else
+ if (Shape == Shape::Straight) return 10740;
+ else if (Shape == Shape::InnerLeft) return 10742;
+ else if (Shape == Shape::InnerRight) return 10744;
+ else if (Shape == Shape::OuterLeft) return 10746;
+ else return 10748;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10750;
+ else if (Shape == Shape::InnerLeft) return 10752;
+ else if (Shape == Shape::InnerRight) return 10754;
+ else if (Shape == Shape::OuterLeft) return 10756;
+ else return 10758;
+ else
+ if (Shape == Shape::Straight) return 10760;
+ else if (Shape == Shape::InnerLeft) return 10762;
+ else if (Shape == Shape::InnerRight) return 10764;
+ else if (Shape == Shape::OuterLeft) return 10766;
+ else return 10768;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10770;
+ else if (Shape == Shape::InnerLeft) return 10772;
+ else if (Shape == Shape::InnerRight) return 10774;
+ else if (Shape == Shape::OuterLeft) return 10776;
+ else return 10778;
+ else
+ if (Shape == Shape::Straight) return 10780;
+ else if (Shape == Shape::InnerLeft) return 10782;
+ else if (Shape == Shape::InnerRight) return 10784;
+ else if (Shape == Shape::OuterLeft) return 10786;
+ else return 10788;
+ }
+ BlockState DioriteStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace DioriteWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState DioriteWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14434;
+ else if (West == West::Low) return 14435;
+ else return 14436;
+ else
+ if (West == West::None) return 14440;
+ else if (West == West::Low) return 14441;
+ else return 14442;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14446;
+ else if (West == West::Low) return 14447;
+ else return 14448;
+ else
+ if (West == West::None) return 14452;
+ else if (West == West::Low) return 14453;
+ else return 14454;
+ else
+ if (Up)
+ if (West == West::None) return 14458;
+ else if (West == West::Low) return 14459;
+ else return 14460;
+ else
+ if (West == West::None) return 14464;
+ else if (West == West::Low) return 14465;
+ else return 14466;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14470;
+ else if (West == West::Low) return 14471;
+ else return 14472;
+ else
+ if (West == West::None) return 14476;
+ else if (West == West::Low) return 14477;
+ else return 14478;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14482;
+ else if (West == West::Low) return 14483;
+ else return 14484;
+ else
+ if (West == West::None) return 14488;
+ else if (West == West::Low) return 14489;
+ else return 14490;
+ else
+ if (Up)
+ if (West == West::None) return 14494;
+ else if (West == West::Low) return 14495;
+ else return 14496;
+ else
+ if (West == West::None) return 14500;
+ else if (West == West::Low) return 14501;
+ else return 14502;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14506;
+ else if (West == West::Low) return 14507;
+ else return 14508;
+ else
+ if (West == West::None) return 14512;
+ else if (West == West::Low) return 14513;
+ else return 14514;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14518;
+ else if (West == West::Low) return 14519;
+ else return 14520;
+ else
+ if (West == West::None) return 14524;
+ else if (West == West::Low) return 14525;
+ else return 14526;
+ else
+ if (Up)
+ if (West == West::None) return 14530;
+ else if (West == West::Low) return 14531;
+ else return 14532;
+ else
+ if (West == West::None) return 14536;
+ else if (West == West::Low) return 14537;
+ else return 14538;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14542;
+ else if (West == West::Low) return 14543;
+ else return 14544;
+ else
+ if (West == West::None) return 14548;
+ else if (West == West::Low) return 14549;
+ else return 14550;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14554;
+ else if (West == West::Low) return 14555;
+ else return 14556;
+ else
+ if (West == West::None) return 14560;
+ else if (West == West::Low) return 14561;
+ else return 14562;
+ else
+ if (Up)
+ if (West == West::None) return 14566;
+ else if (West == West::Low) return 14567;
+ else return 14568;
+ else
+ if (West == West::None) return 14572;
+ else if (West == West::Low) return 14573;
+ else return 14574;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14578;
+ else if (West == West::Low) return 14579;
+ else return 14580;
+ else
+ if (West == West::None) return 14584;
+ else if (West == West::Low) return 14585;
+ else return 14586;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14590;
+ else if (West == West::Low) return 14591;
+ else return 14592;
+ else
+ if (West == West::None) return 14596;
+ else if (West == West::Low) return 14597;
+ else return 14598;
+ else
+ if (Up)
+ if (West == West::None) return 14602;
+ else if (West == West::Low) return 14603;
+ else return 14604;
+ else
+ if (West == West::None) return 14608;
+ else if (West == West::Low) return 14609;
+ else return 14610;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14614;
+ else if (West == West::Low) return 14615;
+ else return 14616;
+ else
+ if (West == West::None) return 14620;
+ else if (West == West::Low) return 14621;
+ else return 14622;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14626;
+ else if (West == West::Low) return 14627;
+ else return 14628;
+ else
+ if (West == West::None) return 14632;
+ else if (West == West::Low) return 14633;
+ else return 14634;
+ else
+ if (Up)
+ if (West == West::None) return 14638;
+ else if (West == West::Low) return 14639;
+ else return 14640;
+ else
+ if (West == West::None) return 14644;
+ else if (West == West::Low) return 14645;
+ else return 14646;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14650;
+ else if (West == West::Low) return 14651;
+ else return 14652;
+ else
+ if (West == West::None) return 14656;
+ else if (West == West::Low) return 14657;
+ else return 14658;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14662;
+ else if (West == West::Low) return 14663;
+ else return 14664;
+ else
+ if (West == West::None) return 14668;
+ else if (West == West::Low) return 14669;
+ else return 14670;
+ else
+ if (Up)
+ if (West == West::None) return 14674;
+ else if (West == West::Low) return 14675;
+ else return 14676;
+ else
+ if (West == West::None) return 14680;
+ else if (West == West::Low) return 14681;
+ else return 14682;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14686;
+ else if (West == West::Low) return 14687;
+ else return 14688;
+ else
+ if (West == West::None) return 14692;
+ else if (West == West::Low) return 14693;
+ else return 14694;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14698;
+ else if (West == West::Low) return 14699;
+ else return 14700;
+ else
+ if (West == West::None) return 14704;
+ else if (West == West::Low) return 14705;
+ else return 14706;
+ else
+ if (Up)
+ if (West == West::None) return 14710;
+ else if (West == West::Low) return 14711;
+ else return 14712;
+ else
+ if (West == West::None) return 14716;
+ else if (West == West::Low) return 14717;
+ else return 14718;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14722;
+ else if (West == West::Low) return 14723;
+ else return 14724;
+ else
+ if (West == West::None) return 14728;
+ else if (West == West::Low) return 14729;
+ else return 14730;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14734;
+ else if (West == West::Low) return 14735;
+ else return 14736;
+ else
+ if (West == West::None) return 14740;
+ else if (West == West::Low) return 14741;
+ else return 14742;
+ else
+ if (Up)
+ if (West == West::None) return 14746;
+ else if (West == West::Low) return 14747;
+ else return 14748;
+ else
+ if (West == West::None) return 14752;
+ else if (West == West::Low) return 14753;
+ else return 14754;
+ }
+ BlockState DioriteWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Dirt
+ {
+ constexpr BlockState Dirt()
+ {
+ return 10;
+ }
+ }
+ namespace Dispenser
+ {
+ constexpr BlockState Dispenser(const eBlockFace Facing, const bool Triggered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Triggered) return 234;
+ else return 235;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP)
+ if (Triggered) return 236;
+ else return 237;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Triggered) return 238;
+ else return 239;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Triggered) return 240;
+ else return 241;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP)
+ if (Triggered) return 242;
+ else return 243;
+ else
+ if (Triggered) return 244;
+ else return 245;
+ }
+ BlockState Dispenser();
+ eBlockFace Facing(BlockState Block);
+ bool Triggered(BlockState Block);
+ }
+ namespace DragonEgg
+ {
+ constexpr BlockState DragonEgg()
+ {
+ return 5155;
+ }
+ }
+ namespace DragonHead
+ {
+ constexpr BlockState DragonHead(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 6590;
+ else if (Rotation == 1) return 6591;
+ else if (Rotation == 2) return 6592;
+ else if (Rotation == 3) return 6593;
+ else if (Rotation == 4) return 6594;
+ else if (Rotation == 5) return 6595;
+ else if (Rotation == 6) return 6596;
+ else if (Rotation == 7) return 6597;
+ else if (Rotation == 8) return 6598;
+ else if (Rotation == 9) return 6599;
+ else if (Rotation == 10) return 6600;
+ else if (Rotation == 11) return 6601;
+ else if (Rotation == 12) return 6602;
+ else if (Rotation == 13) return 6603;
+ else if (Rotation == 14) return 6604;
+ else return 6605;
+ }
+ BlockState DragonHead();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace DragonWallHead
+ {
+ constexpr BlockState DragonWallHead(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6606;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6607;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6608;
+ else return 6609;
+ }
+ BlockState DragonWallHead();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace DriedKelpBlock
+ {
+ constexpr BlockState DriedKelpBlock()
+ {
+ return 9497;
+ }
+ }
+ namespace Dropper
+ {
+ constexpr BlockState Dropper(const eBlockFace Facing, const bool Triggered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Triggered) return 6835;
+ else return 6836;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP)
+ if (Triggered) return 6837;
+ else return 6838;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Triggered) return 6839;
+ else return 6840;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Triggered) return 6841;
+ else return 6842;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP)
+ if (Triggered) return 6843;
+ else return 6844;
+ else
+ if (Triggered) return 6845;
+ else return 6846;
+ }
+ BlockState Dropper();
+ eBlockFace Facing(BlockState Block);
+ bool Triggered(BlockState Block);
+ }
+ namespace EmeraldBlock
+ {
+ constexpr BlockState EmeraldBlock()
+ {
+ return 5403;
+ }
+ }
+ namespace EmeraldOre
+ {
+ constexpr BlockState EmeraldOre()
+ {
+ return 5250;
+ }
+ }
+ namespace EnchantingTable
+ {
+ constexpr BlockState EnchantingTable()
+ {
+ return 5132;
+ }
+ }
+ namespace EndGateway
+ {
+ constexpr BlockState EndGateway()
+ {
+ return 9224;
+ }
+ }
+ namespace EndPortal
+ {
+ constexpr BlockState EndPortal()
+ {
+ return 5145;
+ }
+ }
+ namespace EndPortalFrame
+ {
+ constexpr BlockState EndPortalFrame(const bool Eye, const eBlockFace Facing)
+ {
+ if (Eye)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5146;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5147;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5148;
+ else return 5149;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5150;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5151;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5152;
+ else return 5153;
+ }
+ BlockState EndPortalFrame();
+ bool Eye(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace EndRod
+ {
+ constexpr BlockState EndRod(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9058;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9059;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9060;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9061;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9062;
+ else return 9063;
+ }
+ BlockState EndRod();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace EndStone
+ {
+ constexpr BlockState EndStone()
+ {
+ return 5154;
+ }
+ }
+ namespace EndStoneBrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState EndStoneBrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10820;
+ else if (Type == Type::Bottom) return 10822;
+ else return 10824;
+ }
+ BlockState EndStoneBrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace EndStoneBrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState EndStoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10070;
+ else if (Shape == Shape::InnerLeft) return 10072;
+ else if (Shape == Shape::InnerRight) return 10074;
+ else if (Shape == Shape::OuterLeft) return 10076;
+ else return 10078;
+ else
+ if (Shape == Shape::Straight) return 10080;
+ else if (Shape == Shape::InnerLeft) return 10082;
+ else if (Shape == Shape::InnerRight) return 10084;
+ else if (Shape == Shape::OuterLeft) return 10086;
+ else return 10088;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10090;
+ else if (Shape == Shape::InnerLeft) return 10092;
+ else if (Shape == Shape::InnerRight) return 10094;
+ else if (Shape == Shape::OuterLeft) return 10096;
+ else return 10098;
+ else
+ if (Shape == Shape::Straight) return 10100;
+ else if (Shape == Shape::InnerLeft) return 10102;
+ else if (Shape == Shape::InnerRight) return 10104;
+ else if (Shape == Shape::OuterLeft) return 10106;
+ else return 10108;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10110;
+ else if (Shape == Shape::InnerLeft) return 10112;
+ else if (Shape == Shape::InnerRight) return 10114;
+ else if (Shape == Shape::OuterLeft) return 10116;
+ else return 10118;
+ else
+ if (Shape == Shape::Straight) return 10120;
+ else if (Shape == Shape::InnerLeft) return 10122;
+ else if (Shape == Shape::InnerRight) return 10124;
+ else if (Shape == Shape::OuterLeft) return 10126;
+ else return 10128;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10130;
+ else if (Shape == Shape::InnerLeft) return 10132;
+ else if (Shape == Shape::InnerRight) return 10134;
+ else if (Shape == Shape::OuterLeft) return 10136;
+ else return 10138;
+ else
+ if (Shape == Shape::Straight) return 10140;
+ else if (Shape == Shape::InnerLeft) return 10142;
+ else if (Shape == Shape::InnerRight) return 10144;
+ else if (Shape == Shape::OuterLeft) return 10146;
+ else return 10148;
+ }
+ BlockState EndStoneBrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace EndStoneBrickWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState EndStoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14110;
+ else if (West == West::Low) return 14111;
+ else return 14112;
+ else
+ if (West == West::None) return 14116;
+ else if (West == West::Low) return 14117;
+ else return 14118;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14122;
+ else if (West == West::Low) return 14123;
+ else return 14124;
+ else
+ if (West == West::None) return 14128;
+ else if (West == West::Low) return 14129;
+ else return 14130;
+ else
+ if (Up)
+ if (West == West::None) return 14134;
+ else if (West == West::Low) return 14135;
+ else return 14136;
+ else
+ if (West == West::None) return 14140;
+ else if (West == West::Low) return 14141;
+ else return 14142;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14146;
+ else if (West == West::Low) return 14147;
+ else return 14148;
+ else
+ if (West == West::None) return 14152;
+ else if (West == West::Low) return 14153;
+ else return 14154;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14158;
+ else if (West == West::Low) return 14159;
+ else return 14160;
+ else
+ if (West == West::None) return 14164;
+ else if (West == West::Low) return 14165;
+ else return 14166;
+ else
+ if (Up)
+ if (West == West::None) return 14170;
+ else if (West == West::Low) return 14171;
+ else return 14172;
+ else
+ if (West == West::None) return 14176;
+ else if (West == West::Low) return 14177;
+ else return 14178;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14182;
+ else if (West == West::Low) return 14183;
+ else return 14184;
+ else
+ if (West == West::None) return 14188;
+ else if (West == West::Low) return 14189;
+ else return 14190;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14194;
+ else if (West == West::Low) return 14195;
+ else return 14196;
+ else
+ if (West == West::None) return 14200;
+ else if (West == West::Low) return 14201;
+ else return 14202;
+ else
+ if (Up)
+ if (West == West::None) return 14206;
+ else if (West == West::Low) return 14207;
+ else return 14208;
+ else
+ if (West == West::None) return 14212;
+ else if (West == West::Low) return 14213;
+ else return 14214;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14218;
+ else if (West == West::Low) return 14219;
+ else return 14220;
+ else
+ if (West == West::None) return 14224;
+ else if (West == West::Low) return 14225;
+ else return 14226;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14230;
+ else if (West == West::Low) return 14231;
+ else return 14232;
+ else
+ if (West == West::None) return 14236;
+ else if (West == West::Low) return 14237;
+ else return 14238;
+ else
+ if (Up)
+ if (West == West::None) return 14242;
+ else if (West == West::Low) return 14243;
+ else return 14244;
+ else
+ if (West == West::None) return 14248;
+ else if (West == West::Low) return 14249;
+ else return 14250;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14254;
+ else if (West == West::Low) return 14255;
+ else return 14256;
+ else
+ if (West == West::None) return 14260;
+ else if (West == West::Low) return 14261;
+ else return 14262;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14266;
+ else if (West == West::Low) return 14267;
+ else return 14268;
+ else
+ if (West == West::None) return 14272;
+ else if (West == West::Low) return 14273;
+ else return 14274;
+ else
+ if (Up)
+ if (West == West::None) return 14278;
+ else if (West == West::Low) return 14279;
+ else return 14280;
+ else
+ if (West == West::None) return 14284;
+ else if (West == West::Low) return 14285;
+ else return 14286;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14290;
+ else if (West == West::Low) return 14291;
+ else return 14292;
+ else
+ if (West == West::None) return 14296;
+ else if (West == West::Low) return 14297;
+ else return 14298;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14302;
+ else if (West == West::Low) return 14303;
+ else return 14304;
+ else
+ if (West == West::None) return 14308;
+ else if (West == West::Low) return 14309;
+ else return 14310;
+ else
+ if (Up)
+ if (West == West::None) return 14314;
+ else if (West == West::Low) return 14315;
+ else return 14316;
+ else
+ if (West == West::None) return 14320;
+ else if (West == West::Low) return 14321;
+ else return 14322;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14326;
+ else if (West == West::Low) return 14327;
+ else return 14328;
+ else
+ if (West == West::None) return 14332;
+ else if (West == West::Low) return 14333;
+ else return 14334;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14338;
+ else if (West == West::Low) return 14339;
+ else return 14340;
+ else
+ if (West == West::None) return 14344;
+ else if (West == West::Low) return 14345;
+ else return 14346;
+ else
+ if (Up)
+ if (West == West::None) return 14350;
+ else if (West == West::Low) return 14351;
+ else return 14352;
+ else
+ if (West == West::None) return 14356;
+ else if (West == West::Low) return 14357;
+ else return 14358;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14362;
+ else if (West == West::Low) return 14363;
+ else return 14364;
+ else
+ if (West == West::None) return 14368;
+ else if (West == West::Low) return 14369;
+ else return 14370;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14374;
+ else if (West == West::Low) return 14375;
+ else return 14376;
+ else
+ if (West == West::None) return 14380;
+ else if (West == West::Low) return 14381;
+ else return 14382;
+ else
+ if (Up)
+ if (West == West::None) return 14386;
+ else if (West == West::Low) return 14387;
+ else return 14388;
+ else
+ if (West == West::None) return 14392;
+ else if (West == West::Low) return 14393;
+ else return 14394;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14398;
+ else if (West == West::Low) return 14399;
+ else return 14400;
+ else
+ if (West == West::None) return 14404;
+ else if (West == West::Low) return 14405;
+ else return 14406;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14410;
+ else if (West == West::Low) return 14411;
+ else return 14412;
+ else
+ if (West == West::None) return 14416;
+ else if (West == West::Low) return 14417;
+ else return 14418;
+ else
+ if (Up)
+ if (West == West::None) return 14422;
+ else if (West == West::Low) return 14423;
+ else return 14424;
+ else
+ if (West == West::None) return 14428;
+ else if (West == West::Low) return 14429;
+ else return 14430;
+ }
+ BlockState EndStoneBrickWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace EndStoneBricks
+ {
+ constexpr BlockState EndStoneBricks()
+ {
+ return 9218;
+ }
+ }
+ namespace EnderChest
+ {
+ constexpr BlockState EnderChest(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 5252;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 5254;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 5256;
+ else return 5258;
+ }
+ BlockState EnderChest();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Farmland
+ {
+ constexpr BlockState Farmland(const unsigned char Moisture)
+ {
+ if (Moisture == 0) return 3365;
+ else if (Moisture == 1) return 3366;
+ else if (Moisture == 2) return 3367;
+ else if (Moisture == 3) return 3368;
+ else if (Moisture == 4) return 3369;
+ else if (Moisture == 5) return 3370;
+ else if (Moisture == 6) return 3371;
+ else return 3372;
+ }
+ BlockState Farmland();
+ unsigned char Moisture(BlockState Block);
+ }
+ namespace Fern
+ {
+ constexpr BlockState Fern()
+ {
+ return 1343;
+ }
+ }
+ namespace Fire
+ {
+ constexpr BlockState Fire(const unsigned char Age, const bool East, const bool North, const bool South, const bool Up, const bool West)
+ {
+ if (Age == 0)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1440;
+ else return 1441;
+ else
+ if (West) return 1442;
+ else return 1443;
+ else
+ if (Up)
+ if (West) return 1444;
+ else return 1445;
+ else
+ if (West) return 1446;
+ else return 1447;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1448;
+ else return 1449;
+ else
+ if (West) return 1450;
+ else return 1451;
+ else
+ if (Up)
+ if (West) return 1452;
+ else return 1453;
+ else
+ if (West) return 1454;
+ else return 1455;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1456;
+ else return 1457;
+ else
+ if (West) return 1458;
+ else return 1459;
+ else
+ if (Up)
+ if (West) return 1460;
+ else return 1461;
+ else
+ if (West) return 1462;
+ else return 1463;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1464;
+ else return 1465;
+ else
+ if (West) return 1466;
+ else return 1467;
+ else
+ if (Up)
+ if (West) return 1468;
+ else return 1469;
+ else
+ if (West) return 1470;
+ else return 1471;
+ else if (Age == 1)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1472;
+ else return 1473;
+ else
+ if (West) return 1474;
+ else return 1475;
+ else
+ if (Up)
+ if (West) return 1476;
+ else return 1477;
+ else
+ if (West) return 1478;
+ else return 1479;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1480;
+ else return 1481;
+ else
+ if (West) return 1482;
+ else return 1483;
+ else
+ if (Up)
+ if (West) return 1484;
+ else return 1485;
+ else
+ if (West) return 1486;
+ else return 1487;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1488;
+ else return 1489;
+ else
+ if (West) return 1490;
+ else return 1491;
+ else
+ if (Up)
+ if (West) return 1492;
+ else return 1493;
+ else
+ if (West) return 1494;
+ else return 1495;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1496;
+ else return 1497;
+ else
+ if (West) return 1498;
+ else return 1499;
+ else
+ if (Up)
+ if (West) return 1500;
+ else return 1501;
+ else
+ if (West) return 1502;
+ else return 1503;
+ else if (Age == 2)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1504;
+ else return 1505;
+ else
+ if (West) return 1506;
+ else return 1507;
+ else
+ if (Up)
+ if (West) return 1508;
+ else return 1509;
+ else
+ if (West) return 1510;
+ else return 1511;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1512;
+ else return 1513;
+ else
+ if (West) return 1514;
+ else return 1515;
+ else
+ if (Up)
+ if (West) return 1516;
+ else return 1517;
+ else
+ if (West) return 1518;
+ else return 1519;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1520;
+ else return 1521;
+ else
+ if (West) return 1522;
+ else return 1523;
+ else
+ if (Up)
+ if (West) return 1524;
+ else return 1525;
+ else
+ if (West) return 1526;
+ else return 1527;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1528;
+ else return 1529;
+ else
+ if (West) return 1530;
+ else return 1531;
+ else
+ if (Up)
+ if (West) return 1532;
+ else return 1533;
+ else
+ if (West) return 1534;
+ else return 1535;
+ else if (Age == 3)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1536;
+ else return 1537;
+ else
+ if (West) return 1538;
+ else return 1539;
+ else
+ if (Up)
+ if (West) return 1540;
+ else return 1541;
+ else
+ if (West) return 1542;
+ else return 1543;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1544;
+ else return 1545;
+ else
+ if (West) return 1546;
+ else return 1547;
+ else
+ if (Up)
+ if (West) return 1548;
+ else return 1549;
+ else
+ if (West) return 1550;
+ else return 1551;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1552;
+ else return 1553;
+ else
+ if (West) return 1554;
+ else return 1555;
+ else
+ if (Up)
+ if (West) return 1556;
+ else return 1557;
+ else
+ if (West) return 1558;
+ else return 1559;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1560;
+ else return 1561;
+ else
+ if (West) return 1562;
+ else return 1563;
+ else
+ if (Up)
+ if (West) return 1564;
+ else return 1565;
+ else
+ if (West) return 1566;
+ else return 1567;
+ else if (Age == 4)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1568;
+ else return 1569;
+ else
+ if (West) return 1570;
+ else return 1571;
+ else
+ if (Up)
+ if (West) return 1572;
+ else return 1573;
+ else
+ if (West) return 1574;
+ else return 1575;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1576;
+ else return 1577;
+ else
+ if (West) return 1578;
+ else return 1579;
+ else
+ if (Up)
+ if (West) return 1580;
+ else return 1581;
+ else
+ if (West) return 1582;
+ else return 1583;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1584;
+ else return 1585;
+ else
+ if (West) return 1586;
+ else return 1587;
+ else
+ if (Up)
+ if (West) return 1588;
+ else return 1589;
+ else
+ if (West) return 1590;
+ else return 1591;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1592;
+ else return 1593;
+ else
+ if (West) return 1594;
+ else return 1595;
+ else
+ if (Up)
+ if (West) return 1596;
+ else return 1597;
+ else
+ if (West) return 1598;
+ else return 1599;
+ else if (Age == 5)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1600;
+ else return 1601;
+ else
+ if (West) return 1602;
+ else return 1603;
+ else
+ if (Up)
+ if (West) return 1604;
+ else return 1605;
+ else
+ if (West) return 1606;
+ else return 1607;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1608;
+ else return 1609;
+ else
+ if (West) return 1610;
+ else return 1611;
+ else
+ if (Up)
+ if (West) return 1612;
+ else return 1613;
+ else
+ if (West) return 1614;
+ else return 1615;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1616;
+ else return 1617;
+ else
+ if (West) return 1618;
+ else return 1619;
+ else
+ if (Up)
+ if (West) return 1620;
+ else return 1621;
+ else
+ if (West) return 1622;
+ else return 1623;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1624;
+ else return 1625;
+ else
+ if (West) return 1626;
+ else return 1627;
+ else
+ if (Up)
+ if (West) return 1628;
+ else return 1629;
+ else
+ if (West) return 1630;
+ else return 1631;
+ else if (Age == 6)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1632;
+ else return 1633;
+ else
+ if (West) return 1634;
+ else return 1635;
+ else
+ if (Up)
+ if (West) return 1636;
+ else return 1637;
+ else
+ if (West) return 1638;
+ else return 1639;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1640;
+ else return 1641;
+ else
+ if (West) return 1642;
+ else return 1643;
+ else
+ if (Up)
+ if (West) return 1644;
+ else return 1645;
+ else
+ if (West) return 1646;
+ else return 1647;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1648;
+ else return 1649;
+ else
+ if (West) return 1650;
+ else return 1651;
+ else
+ if (Up)
+ if (West) return 1652;
+ else return 1653;
+ else
+ if (West) return 1654;
+ else return 1655;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1656;
+ else return 1657;
+ else
+ if (West) return 1658;
+ else return 1659;
+ else
+ if (Up)
+ if (West) return 1660;
+ else return 1661;
+ else
+ if (West) return 1662;
+ else return 1663;
+ else if (Age == 7)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1664;
+ else return 1665;
+ else
+ if (West) return 1666;
+ else return 1667;
+ else
+ if (Up)
+ if (West) return 1668;
+ else return 1669;
+ else
+ if (West) return 1670;
+ else return 1671;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1672;
+ else return 1673;
+ else
+ if (West) return 1674;
+ else return 1675;
+ else
+ if (Up)
+ if (West) return 1676;
+ else return 1677;
+ else
+ if (West) return 1678;
+ else return 1679;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1680;
+ else return 1681;
+ else
+ if (West) return 1682;
+ else return 1683;
+ else
+ if (Up)
+ if (West) return 1684;
+ else return 1685;
+ else
+ if (West) return 1686;
+ else return 1687;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1688;
+ else return 1689;
+ else
+ if (West) return 1690;
+ else return 1691;
+ else
+ if (Up)
+ if (West) return 1692;
+ else return 1693;
+ else
+ if (West) return 1694;
+ else return 1695;
+ else if (Age == 8)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1696;
+ else return 1697;
+ else
+ if (West) return 1698;
+ else return 1699;
+ else
+ if (Up)
+ if (West) return 1700;
+ else return 1701;
+ else
+ if (West) return 1702;
+ else return 1703;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1704;
+ else return 1705;
+ else
+ if (West) return 1706;
+ else return 1707;
+ else
+ if (Up)
+ if (West) return 1708;
+ else return 1709;
+ else
+ if (West) return 1710;
+ else return 1711;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1712;
+ else return 1713;
+ else
+ if (West) return 1714;
+ else return 1715;
+ else
+ if (Up)
+ if (West) return 1716;
+ else return 1717;
+ else
+ if (West) return 1718;
+ else return 1719;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1720;
+ else return 1721;
+ else
+ if (West) return 1722;
+ else return 1723;
+ else
+ if (Up)
+ if (West) return 1724;
+ else return 1725;
+ else
+ if (West) return 1726;
+ else return 1727;
+ else if (Age == 9)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1728;
+ else return 1729;
+ else
+ if (West) return 1730;
+ else return 1731;
+ else
+ if (Up)
+ if (West) return 1732;
+ else return 1733;
+ else
+ if (West) return 1734;
+ else return 1735;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1736;
+ else return 1737;
+ else
+ if (West) return 1738;
+ else return 1739;
+ else
+ if (Up)
+ if (West) return 1740;
+ else return 1741;
+ else
+ if (West) return 1742;
+ else return 1743;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1744;
+ else return 1745;
+ else
+ if (West) return 1746;
+ else return 1747;
+ else
+ if (Up)
+ if (West) return 1748;
+ else return 1749;
+ else
+ if (West) return 1750;
+ else return 1751;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1752;
+ else return 1753;
+ else
+ if (West) return 1754;
+ else return 1755;
+ else
+ if (Up)
+ if (West) return 1756;
+ else return 1757;
+ else
+ if (West) return 1758;
+ else return 1759;
+ else if (Age == 10)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1760;
+ else return 1761;
+ else
+ if (West) return 1762;
+ else return 1763;
+ else
+ if (Up)
+ if (West) return 1764;
+ else return 1765;
+ else
+ if (West) return 1766;
+ else return 1767;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1768;
+ else return 1769;
+ else
+ if (West) return 1770;
+ else return 1771;
+ else
+ if (Up)
+ if (West) return 1772;
+ else return 1773;
+ else
+ if (West) return 1774;
+ else return 1775;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1776;
+ else return 1777;
+ else
+ if (West) return 1778;
+ else return 1779;
+ else
+ if (Up)
+ if (West) return 1780;
+ else return 1781;
+ else
+ if (West) return 1782;
+ else return 1783;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1784;
+ else return 1785;
+ else
+ if (West) return 1786;
+ else return 1787;
+ else
+ if (Up)
+ if (West) return 1788;
+ else return 1789;
+ else
+ if (West) return 1790;
+ else return 1791;
+ else if (Age == 11)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1792;
+ else return 1793;
+ else
+ if (West) return 1794;
+ else return 1795;
+ else
+ if (Up)
+ if (West) return 1796;
+ else return 1797;
+ else
+ if (West) return 1798;
+ else return 1799;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1800;
+ else return 1801;
+ else
+ if (West) return 1802;
+ else return 1803;
+ else
+ if (Up)
+ if (West) return 1804;
+ else return 1805;
+ else
+ if (West) return 1806;
+ else return 1807;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1808;
+ else return 1809;
+ else
+ if (West) return 1810;
+ else return 1811;
+ else
+ if (Up)
+ if (West) return 1812;
+ else return 1813;
+ else
+ if (West) return 1814;
+ else return 1815;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1816;
+ else return 1817;
+ else
+ if (West) return 1818;
+ else return 1819;
+ else
+ if (Up)
+ if (West) return 1820;
+ else return 1821;
+ else
+ if (West) return 1822;
+ else return 1823;
+ else if (Age == 12)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1824;
+ else return 1825;
+ else
+ if (West) return 1826;
+ else return 1827;
+ else
+ if (Up)
+ if (West) return 1828;
+ else return 1829;
+ else
+ if (West) return 1830;
+ else return 1831;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1832;
+ else return 1833;
+ else
+ if (West) return 1834;
+ else return 1835;
+ else
+ if (Up)
+ if (West) return 1836;
+ else return 1837;
+ else
+ if (West) return 1838;
+ else return 1839;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1840;
+ else return 1841;
+ else
+ if (West) return 1842;
+ else return 1843;
+ else
+ if (Up)
+ if (West) return 1844;
+ else return 1845;
+ else
+ if (West) return 1846;
+ else return 1847;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1848;
+ else return 1849;
+ else
+ if (West) return 1850;
+ else return 1851;
+ else
+ if (Up)
+ if (West) return 1852;
+ else return 1853;
+ else
+ if (West) return 1854;
+ else return 1855;
+ else if (Age == 13)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1856;
+ else return 1857;
+ else
+ if (West) return 1858;
+ else return 1859;
+ else
+ if (Up)
+ if (West) return 1860;
+ else return 1861;
+ else
+ if (West) return 1862;
+ else return 1863;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1864;
+ else return 1865;
+ else
+ if (West) return 1866;
+ else return 1867;
+ else
+ if (Up)
+ if (West) return 1868;
+ else return 1869;
+ else
+ if (West) return 1870;
+ else return 1871;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1872;
+ else return 1873;
+ else
+ if (West) return 1874;
+ else return 1875;
+ else
+ if (Up)
+ if (West) return 1876;
+ else return 1877;
+ else
+ if (West) return 1878;
+ else return 1879;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1880;
+ else return 1881;
+ else
+ if (West) return 1882;
+ else return 1883;
+ else
+ if (Up)
+ if (West) return 1884;
+ else return 1885;
+ else
+ if (West) return 1886;
+ else return 1887;
+ else if (Age == 14)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1888;
+ else return 1889;
+ else
+ if (West) return 1890;
+ else return 1891;
+ else
+ if (Up)
+ if (West) return 1892;
+ else return 1893;
+ else
+ if (West) return 1894;
+ else return 1895;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1896;
+ else return 1897;
+ else
+ if (West) return 1898;
+ else return 1899;
+ else
+ if (Up)
+ if (West) return 1900;
+ else return 1901;
+ else
+ if (West) return 1902;
+ else return 1903;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1904;
+ else return 1905;
+ else
+ if (West) return 1906;
+ else return 1907;
+ else
+ if (Up)
+ if (West) return 1908;
+ else return 1909;
+ else
+ if (West) return 1910;
+ else return 1911;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1912;
+ else return 1913;
+ else
+ if (West) return 1914;
+ else return 1915;
+ else
+ if (Up)
+ if (West) return 1916;
+ else return 1917;
+ else
+ if (West) return 1918;
+ else return 1919;
+ else
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1920;
+ else return 1921;
+ else
+ if (West) return 1922;
+ else return 1923;
+ else
+ if (Up)
+ if (West) return 1924;
+ else return 1925;
+ else
+ if (West) return 1926;
+ else return 1927;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1928;
+ else return 1929;
+ else
+ if (West) return 1930;
+ else return 1931;
+ else
+ if (Up)
+ if (West) return 1932;
+ else return 1933;
+ else
+ if (West) return 1934;
+ else return 1935;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 1936;
+ else return 1937;
+ else
+ if (West) return 1938;
+ else return 1939;
+ else
+ if (Up)
+ if (West) return 1940;
+ else return 1941;
+ else
+ if (West) return 1942;
+ else return 1943;
+ else
+ if (South)
+ if (Up)
+ if (West) return 1944;
+ else return 1945;
+ else
+ if (West) return 1946;
+ else return 1947;
+ else
+ if (Up)
+ if (West) return 1948;
+ else return 1949;
+ else
+ if (West) return 1950;
+ else return 1951;
+ }
+ BlockState Fire();
+ unsigned char Age(BlockState Block);
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool Up(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace FireCoral
+ {
+ constexpr BlockState FireCoral()
+ {
+ return 9537;
+ }
+ }
+ namespace FireCoralBlock
+ {
+ constexpr BlockState FireCoralBlock()
+ {
+ return 9518;
+ }
+ }
+ namespace FireCoralFan
+ {
+ constexpr BlockState FireCoralFan()
+ {
+ return 9557;
+ }
+ }
+ namespace FireCoralWallFan
+ {
+ constexpr BlockState FireCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9625;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9627;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9629;
+ else return 9631;
+ }
+ BlockState FireCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace FletchingTable
+ {
+ constexpr BlockState FletchingTable()
+ {
+ return 14820;
+ }
+ }
+ namespace FlowerPot
+ {
+ constexpr BlockState FlowerPot()
+ {
+ return 6305;
+ }
+ }
+ namespace FrostedIce
+ {
+ constexpr BlockState FrostedIce(const unsigned char Age)
+ {
+ if (Age == 0) return 9249;
+ else if (Age == 1) return 9250;
+ else if (Age == 2) return 9251;
+ else return 9252;
+ }
+ BlockState FrostedIce();
+ unsigned char Age(BlockState Block);
+ }
+ namespace Furnace
+ {
+ constexpr BlockState Furnace(const eBlockFace Facing, const bool Lit)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Lit) return 3373;
+ else return 3374;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Lit) return 3375;
+ else return 3376;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Lit) return 3377;
+ else return 3378;
+ else
+ if (Lit) return 3379;
+ else return 3380;
+ }
+ BlockState Furnace();
+ eBlockFace Facing(BlockState Block);
+ bool Lit(BlockState Block);
+ }
+ namespace GildedBlackstone
+ {
+ constexpr BlockState GildedBlackstone()
+ {
+ return 16664;
+ }
+ }
+ namespace Glass
+ {
+ constexpr BlockState Glass()
+ {
+ return 231;
+ }
+ }
+ namespace GlassPane
+ {
+ constexpr BlockState GlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 4733;
+ else return 4734;
+ else
+ if (West) return 4737;
+ else return 4738;
+ else
+ if (South)
+ if (West) return 4741;
+ else return 4742;
+ else
+ if (West) return 4745;
+ else return 4746;
+ else
+ if (North)
+ if (South)
+ if (West) return 4749;
+ else return 4750;
+ else
+ if (West) return 4753;
+ else return 4754;
+ else
+ if (South)
+ if (West) return 4757;
+ else return 4758;
+ else
+ if (West) return 4761;
+ else return 4762;
+ }
+ BlockState GlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace Glowstone
+ {
+ constexpr BlockState Glowstone()
+ {
+ return 4013;
+ }
+ }
+ namespace GoldBlock
+ {
+ constexpr BlockState GoldBlock()
+ {
+ return 1427;
+ }
+ }
+ namespace GoldOre
+ {
+ constexpr BlockState GoldOre()
+ {
+ return 69;
+ }
+ }
+ namespace Granite
+ {
+ constexpr BlockState Granite()
+ {
+ return 2;
+ }
+ }
+ namespace GraniteSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState GraniteSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10838;
+ else if (Type == Type::Bottom) return 10840;
+ else return 10842;
+ }
+ BlockState GraniteSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace GraniteStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState GraniteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10390;
+ else if (Shape == Shape::InnerLeft) return 10392;
+ else if (Shape == Shape::InnerRight) return 10394;
+ else if (Shape == Shape::OuterLeft) return 10396;
+ else return 10398;
+ else
+ if (Shape == Shape::Straight) return 10400;
+ else if (Shape == Shape::InnerLeft) return 10402;
+ else if (Shape == Shape::InnerRight) return 10404;
+ else if (Shape == Shape::OuterLeft) return 10406;
+ else return 10408;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10410;
+ else if (Shape == Shape::InnerLeft) return 10412;
+ else if (Shape == Shape::InnerRight) return 10414;
+ else if (Shape == Shape::OuterLeft) return 10416;
+ else return 10418;
+ else
+ if (Shape == Shape::Straight) return 10420;
+ else if (Shape == Shape::InnerLeft) return 10422;
+ else if (Shape == Shape::InnerRight) return 10424;
+ else if (Shape == Shape::OuterLeft) return 10426;
+ else return 10428;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10430;
+ else if (Shape == Shape::InnerLeft) return 10432;
+ else if (Shape == Shape::InnerRight) return 10434;
+ else if (Shape == Shape::OuterLeft) return 10436;
+ else return 10438;
+ else
+ if (Shape == Shape::Straight) return 10440;
+ else if (Shape == Shape::InnerLeft) return 10442;
+ else if (Shape == Shape::InnerRight) return 10444;
+ else if (Shape == Shape::OuterLeft) return 10446;
+ else return 10448;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10450;
+ else if (Shape == Shape::InnerLeft) return 10452;
+ else if (Shape == Shape::InnerRight) return 10454;
+ else if (Shape == Shape::OuterLeft) return 10456;
+ else return 10458;
+ else
+ if (Shape == Shape::Straight) return 10460;
+ else if (Shape == Shape::InnerLeft) return 10462;
+ else if (Shape == Shape::InnerRight) return 10464;
+ else if (Shape == Shape::OuterLeft) return 10466;
+ else return 10468;
+ }
+ BlockState GraniteStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace GraniteWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState GraniteWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12166;
+ else if (West == West::Low) return 12167;
+ else return 12168;
+ else
+ if (West == West::None) return 12172;
+ else if (West == West::Low) return 12173;
+ else return 12174;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12178;
+ else if (West == West::Low) return 12179;
+ else return 12180;
+ else
+ if (West == West::None) return 12184;
+ else if (West == West::Low) return 12185;
+ else return 12186;
+ else
+ if (Up)
+ if (West == West::None) return 12190;
+ else if (West == West::Low) return 12191;
+ else return 12192;
+ else
+ if (West == West::None) return 12196;
+ else if (West == West::Low) return 12197;
+ else return 12198;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12202;
+ else if (West == West::Low) return 12203;
+ else return 12204;
+ else
+ if (West == West::None) return 12208;
+ else if (West == West::Low) return 12209;
+ else return 12210;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12214;
+ else if (West == West::Low) return 12215;
+ else return 12216;
+ else
+ if (West == West::None) return 12220;
+ else if (West == West::Low) return 12221;
+ else return 12222;
+ else
+ if (Up)
+ if (West == West::None) return 12226;
+ else if (West == West::Low) return 12227;
+ else return 12228;
+ else
+ if (West == West::None) return 12232;
+ else if (West == West::Low) return 12233;
+ else return 12234;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12238;
+ else if (West == West::Low) return 12239;
+ else return 12240;
+ else
+ if (West == West::None) return 12244;
+ else if (West == West::Low) return 12245;
+ else return 12246;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12250;
+ else if (West == West::Low) return 12251;
+ else return 12252;
+ else
+ if (West == West::None) return 12256;
+ else if (West == West::Low) return 12257;
+ else return 12258;
+ else
+ if (Up)
+ if (West == West::None) return 12262;
+ else if (West == West::Low) return 12263;
+ else return 12264;
+ else
+ if (West == West::None) return 12268;
+ else if (West == West::Low) return 12269;
+ else return 12270;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12274;
+ else if (West == West::Low) return 12275;
+ else return 12276;
+ else
+ if (West == West::None) return 12280;
+ else if (West == West::Low) return 12281;
+ else return 12282;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12286;
+ else if (West == West::Low) return 12287;
+ else return 12288;
+ else
+ if (West == West::None) return 12292;
+ else if (West == West::Low) return 12293;
+ else return 12294;
+ else
+ if (Up)
+ if (West == West::None) return 12298;
+ else if (West == West::Low) return 12299;
+ else return 12300;
+ else
+ if (West == West::None) return 12304;
+ else if (West == West::Low) return 12305;
+ else return 12306;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12310;
+ else if (West == West::Low) return 12311;
+ else return 12312;
+ else
+ if (West == West::None) return 12316;
+ else if (West == West::Low) return 12317;
+ else return 12318;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12322;
+ else if (West == West::Low) return 12323;
+ else return 12324;
+ else
+ if (West == West::None) return 12328;
+ else if (West == West::Low) return 12329;
+ else return 12330;
+ else
+ if (Up)
+ if (West == West::None) return 12334;
+ else if (West == West::Low) return 12335;
+ else return 12336;
+ else
+ if (West == West::None) return 12340;
+ else if (West == West::Low) return 12341;
+ else return 12342;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12346;
+ else if (West == West::Low) return 12347;
+ else return 12348;
+ else
+ if (West == West::None) return 12352;
+ else if (West == West::Low) return 12353;
+ else return 12354;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12358;
+ else if (West == West::Low) return 12359;
+ else return 12360;
+ else
+ if (West == West::None) return 12364;
+ else if (West == West::Low) return 12365;
+ else return 12366;
+ else
+ if (Up)
+ if (West == West::None) return 12370;
+ else if (West == West::Low) return 12371;
+ else return 12372;
+ else
+ if (West == West::None) return 12376;
+ else if (West == West::Low) return 12377;
+ else return 12378;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12382;
+ else if (West == West::Low) return 12383;
+ else return 12384;
+ else
+ if (West == West::None) return 12388;
+ else if (West == West::Low) return 12389;
+ else return 12390;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12394;
+ else if (West == West::Low) return 12395;
+ else return 12396;
+ else
+ if (West == West::None) return 12400;
+ else if (West == West::Low) return 12401;
+ else return 12402;
+ else
+ if (Up)
+ if (West == West::None) return 12406;
+ else if (West == West::Low) return 12407;
+ else return 12408;
+ else
+ if (West == West::None) return 12412;
+ else if (West == West::Low) return 12413;
+ else return 12414;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12418;
+ else if (West == West::Low) return 12419;
+ else return 12420;
+ else
+ if (West == West::None) return 12424;
+ else if (West == West::Low) return 12425;
+ else return 12426;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12430;
+ else if (West == West::Low) return 12431;
+ else return 12432;
+ else
+ if (West == West::None) return 12436;
+ else if (West == West::Low) return 12437;
+ else return 12438;
+ else
+ if (Up)
+ if (West == West::None) return 12442;
+ else if (West == West::Low) return 12443;
+ else return 12444;
+ else
+ if (West == West::None) return 12448;
+ else if (West == West::Low) return 12449;
+ else return 12450;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12454;
+ else if (West == West::Low) return 12455;
+ else return 12456;
+ else
+ if (West == West::None) return 12460;
+ else if (West == West::Low) return 12461;
+ else return 12462;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12466;
+ else if (West == West::Low) return 12467;
+ else return 12468;
+ else
+ if (West == West::None) return 12472;
+ else if (West == West::Low) return 12473;
+ else return 12474;
+ else
+ if (Up)
+ if (West == West::None) return 12478;
+ else if (West == West::Low) return 12479;
+ else return 12480;
+ else
+ if (West == West::None) return 12484;
+ else if (West == West::Low) return 12485;
+ else return 12486;
+ }
+ BlockState GraniteWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Grass
+ {
+ constexpr BlockState Grass()
+ {
+ return 1342;
+ }
+ }
+ namespace GrassBlock
+ {
+ constexpr BlockState GrassBlock(const bool Snowy)
+ {
+ if (Snowy) return 8;
+ else return 9;
+ }
+ BlockState GrassBlock();
+ bool Snowy(BlockState Block);
+ }
+ namespace GrassPath
+ {
+ constexpr BlockState GrassPath()
+ {
+ return 9223;
+ }
+ }
+ namespace Gravel
+ {
+ constexpr BlockState Gravel()
+ {
+ return 68;
+ }
+ }
+ namespace GrayBanner
+ {
+ constexpr BlockState GrayBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8009;
+ else if (Rotation == 1) return 8010;
+ else if (Rotation == 2) return 8011;
+ else if (Rotation == 3) return 8012;
+ else if (Rotation == 4) return 8013;
+ else if (Rotation == 5) return 8014;
+ else if (Rotation == 6) return 8015;
+ else if (Rotation == 7) return 8016;
+ else if (Rotation == 8) return 8017;
+ else if (Rotation == 9) return 8018;
+ else if (Rotation == 10) return 8019;
+ else if (Rotation == 11) return 8020;
+ else if (Rotation == 12) return 8021;
+ else if (Rotation == 13) return 8022;
+ else if (Rotation == 14) return 8023;
+ else return 8024;
+ }
+ BlockState GrayBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace GrayBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState GrayBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1161;
+ else return 1162;
+ else
+ if (Part == Part::Head) return 1163;
+ else return 1164;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1165;
+ else return 1166;
+ else
+ if (Part == Part::Head) return 1167;
+ else return 1168;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1169;
+ else return 1170;
+ else
+ if (Part == Part::Head) return 1171;
+ else return 1172;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1173;
+ else return 1174;
+ else
+ if (Part == Part::Head) return 1175;
+ else return 1176;
+ }
+ BlockState GrayBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace GrayCarpet
+ {
+ constexpr BlockState GrayCarpet()
+ {
+ return 7873;
+ }
+ }
+ namespace GrayConcrete
+ {
+ constexpr BlockState GrayConcrete()
+ {
+ return 9445;
+ }
+ }
+ namespace GrayConcretePowder
+ {
+ constexpr BlockState GrayConcretePowder()
+ {
+ return 9461;
+ }
+ }
+ namespace GrayGlazedTerracotta
+ {
+ constexpr BlockState GrayGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9402;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9403;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9404;
+ else return 9405;
+ }
+ BlockState GrayGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace GrayShulkerBox
+ {
+ constexpr BlockState GrayShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9320;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9321;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9322;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9323;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9324;
+ else return 9325;
+ }
+ BlockState GrayShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace GrayStainedGlass
+ {
+ constexpr BlockState GrayStainedGlass()
+ {
+ return 4102;
+ }
+ }
+ namespace GrayStainedGlassPane
+ {
+ constexpr BlockState GrayStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7089;
+ else return 7090;
+ else
+ if (West) return 7093;
+ else return 7094;
+ else
+ if (South)
+ if (West) return 7097;
+ else return 7098;
+ else
+ if (West) return 7101;
+ else return 7102;
+ else
+ if (North)
+ if (South)
+ if (West) return 7105;
+ else return 7106;
+ else
+ if (West) return 7109;
+ else return 7110;
+ else
+ if (South)
+ if (West) return 7113;
+ else return 7114;
+ else
+ if (West) return 7117;
+ else return 7118;
+ }
+ BlockState GrayStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace GrayTerracotta
+ {
+ constexpr BlockState GrayTerracotta()
+ {
+ return 6854;
+ }
+ }
+ namespace GrayWallBanner
+ {
+ constexpr BlockState GrayWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8181;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8182;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8183;
+ else return 8184;
+ }
+ BlockState GrayWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace GrayWool
+ {
+ constexpr BlockState GrayWool()
+ {
+ return 1391;
+ }
+ }
+ namespace GreenBanner
+ {
+ constexpr BlockState GreenBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8105;
+ else if (Rotation == 1) return 8106;
+ else if (Rotation == 2) return 8107;
+ else if (Rotation == 3) return 8108;
+ else if (Rotation == 4) return 8109;
+ else if (Rotation == 5) return 8110;
+ else if (Rotation == 6) return 8111;
+ else if (Rotation == 7) return 8112;
+ else if (Rotation == 8) return 8113;
+ else if (Rotation == 9) return 8114;
+ else if (Rotation == 10) return 8115;
+ else if (Rotation == 11) return 8116;
+ else if (Rotation == 12) return 8117;
+ else if (Rotation == 13) return 8118;
+ else if (Rotation == 14) return 8119;
+ else return 8120;
+ }
+ BlockState GreenBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace GreenBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState GreenBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1257;
+ else return 1258;
+ else
+ if (Part == Part::Head) return 1259;
+ else return 1260;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1261;
+ else return 1262;
+ else
+ if (Part == Part::Head) return 1263;
+ else return 1264;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1265;
+ else return 1266;
+ else
+ if (Part == Part::Head) return 1267;
+ else return 1268;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1269;
+ else return 1270;
+ else
+ if (Part == Part::Head) return 1271;
+ else return 1272;
+ }
+ BlockState GreenBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace GreenCarpet
+ {
+ constexpr BlockState GreenCarpet()
+ {
+ return 7879;
+ }
+ }
+ namespace GreenConcrete
+ {
+ constexpr BlockState GreenConcrete()
+ {
+ return 9451;
+ }
+ }
+ namespace GreenConcretePowder
+ {
+ constexpr BlockState GreenConcretePowder()
+ {
+ return 9467;
+ }
+ }
+ namespace GreenGlazedTerracotta
+ {
+ constexpr BlockState GreenGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9426;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9427;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9428;
+ else return 9429;
+ }
+ BlockState GreenGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace GreenShulkerBox
+ {
+ constexpr BlockState GreenShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9356;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9357;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9358;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9359;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9360;
+ else return 9361;
+ }
+ BlockState GreenShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace GreenStainedGlass
+ {
+ constexpr BlockState GreenStainedGlass()
+ {
+ return 4108;
+ }
+ }
+ namespace GreenStainedGlassPane
+ {
+ constexpr BlockState GreenStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7281;
+ else return 7282;
+ else
+ if (West) return 7285;
+ else return 7286;
+ else
+ if (South)
+ if (West) return 7289;
+ else return 7290;
+ else
+ if (West) return 7293;
+ else return 7294;
+ else
+ if (North)
+ if (South)
+ if (West) return 7297;
+ else return 7298;
+ else
+ if (West) return 7301;
+ else return 7302;
+ else
+ if (South)
+ if (West) return 7305;
+ else return 7306;
+ else
+ if (West) return 7309;
+ else return 7310;
+ }
+ BlockState GreenStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace GreenTerracotta
+ {
+ constexpr BlockState GreenTerracotta()
+ {
+ return 6860;
+ }
+ }
+ namespace GreenWallBanner
+ {
+ constexpr BlockState GreenWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8205;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8206;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8207;
+ else return 8208;
+ }
+ BlockState GreenWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace GreenWool
+ {
+ constexpr BlockState GreenWool()
+ {
+ return 1397;
+ }
+ }
+ namespace Grindstone
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState Grindstone(const enum Face Face, const eBlockFace Facing)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14821;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14822;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14823;
+ else return 14824;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14825;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14826;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14827;
+ else return 14828;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14829;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14830;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14831;
+ else return 14832;
+ }
+ BlockState Grindstone();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace HayBale
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState HayBale(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 7863;
+ else if (Axis == Axis::Y) return 7864;
+ else return 7865;
+ }
+ BlockState HayBale();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace HeavyWeightedPressurePlate
+ {
+ constexpr BlockState HeavyWeightedPressurePlate(const unsigned char Power)
+ {
+ if (Power == 0) return 6662;
+ else if (Power == 1) return 6663;
+ else if (Power == 2) return 6664;
+ else if (Power == 3) return 6665;
+ else if (Power == 4) return 6666;
+ else if (Power == 5) return 6667;
+ else if (Power == 6) return 6668;
+ else if (Power == 7) return 6669;
+ else if (Power == 8) return 6670;
+ else if (Power == 9) return 6671;
+ else if (Power == 10) return 6672;
+ else if (Power == 11) return 6673;
+ else if (Power == 12) return 6674;
+ else if (Power == 13) return 6675;
+ else if (Power == 14) return 6676;
+ else return 6677;
+ }
+ BlockState HeavyWeightedPressurePlate();
+ unsigned char Power(BlockState Block);
+ }
+ namespace HoneyBlock
+ {
+ constexpr BlockState HoneyBlock()
+ {
+ return 15824;
+ }
+ }
+ namespace HoneycombBlock
+ {
+ constexpr BlockState HoneycombBlock()
+ {
+ return 15825;
+ }
+ }
+ namespace Hopper
+ {
+ constexpr BlockState Hopper(const bool Enabled, const eBlockFace Facing)
+ {
+ if (Enabled)
+ if (Facing == eBlockFace::BLOCK_FACE_YM) return 6728;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6729;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6730;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6731;
+ else return 6732;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_YM) return 6733;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6734;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6735;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6736;
+ else return 6737;
+ }
+ BlockState Hopper();
+ bool Enabled(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace HornCoral
+ {
+ constexpr BlockState HornCoral()
+ {
+ return 9539;
+ }
+ }
+ namespace HornCoralBlock
+ {
+ constexpr BlockState HornCoralBlock()
+ {
+ return 9519;
+ }
+ }
+ namespace HornCoralFan
+ {
+ constexpr BlockState HornCoralFan()
+ {
+ return 9559;
+ }
+ }
+ namespace HornCoralWallFan
+ {
+ constexpr BlockState HornCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9633;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9635;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9637;
+ else return 9639;
+ }
+ BlockState HornCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Ice
+ {
+ constexpr BlockState Ice()
+ {
+ return 3929;
+ }
+ }
+ namespace InfestedChiseledStoneBricks
+ {
+ constexpr BlockState InfestedChiseledStoneBricks()
+ {
+ return 4504;
+ }
+ }
+ namespace InfestedCobblestone
+ {
+ constexpr BlockState InfestedCobblestone()
+ {
+ return 4500;
+ }
+ }
+ namespace InfestedCrackedStoneBricks
+ {
+ constexpr BlockState InfestedCrackedStoneBricks()
+ {
+ return 4503;
+ }
+ }
+ namespace InfestedMossyStoneBricks
+ {
+ constexpr BlockState InfestedMossyStoneBricks()
+ {
+ return 4502;
+ }
+ }
+ namespace InfestedStone
+ {
+ constexpr BlockState InfestedStone()
+ {
+ return 4499;
+ }
+ }
+ namespace InfestedStoneBricks
+ {
+ constexpr BlockState InfestedStoneBricks()
+ {
+ return 4501;
+ }
+ }
+ namespace IronBars
+ {
+ constexpr BlockState IronBars(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 4699;
+ else return 4700;
+ else
+ if (West) return 4703;
+ else return 4704;
+ else
+ if (South)
+ if (West) return 4707;
+ else return 4708;
+ else
+ if (West) return 4711;
+ else return 4712;
+ else
+ if (North)
+ if (South)
+ if (West) return 4715;
+ else return 4716;
+ else
+ if (West) return 4719;
+ else return 4720;
+ else
+ if (South)
+ if (West) return 4723;
+ else return 4724;
+ else
+ if (West) return 4727;
+ else return 4728;
+ }
+ BlockState IronBars();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace IronBlock
+ {
+ constexpr BlockState IronBlock()
+ {
+ return 1428;
+ }
+ }
+ namespace IronDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState IronDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3809;
+ else return 3810;
+ else
+ if (Powered) return 3811;
+ else return 3812;
+ else
+ if (Open)
+ if (Powered) return 3813;
+ else return 3814;
+ else
+ if (Powered) return 3815;
+ else return 3816;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3817;
+ else return 3818;
+ else
+ if (Powered) return 3819;
+ else return 3820;
+ else
+ if (Open)
+ if (Powered) return 3821;
+ else return 3822;
+ else
+ if (Powered) return 3823;
+ else return 3824;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3825;
+ else return 3826;
+ else
+ if (Powered) return 3827;
+ else return 3828;
+ else
+ if (Open)
+ if (Powered) return 3829;
+ else return 3830;
+ else
+ if (Powered) return 3831;
+ else return 3832;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3833;
+ else return 3834;
+ else
+ if (Powered) return 3835;
+ else return 3836;
+ else
+ if (Open)
+ if (Powered) return 3837;
+ else return 3838;
+ else
+ if (Powered) return 3839;
+ else return 3840;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3841;
+ else return 3842;
+ else
+ if (Powered) return 3843;
+ else return 3844;
+ else
+ if (Open)
+ if (Powered) return 3845;
+ else return 3846;
+ else
+ if (Powered) return 3847;
+ else return 3848;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3849;
+ else return 3850;
+ else
+ if (Powered) return 3851;
+ else return 3852;
+ else
+ if (Open)
+ if (Powered) return 3853;
+ else return 3854;
+ else
+ if (Powered) return 3855;
+ else return 3856;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3857;
+ else return 3858;
+ else
+ if (Powered) return 3859;
+ else return 3860;
+ else
+ if (Open)
+ if (Powered) return 3861;
+ else return 3862;
+ else
+ if (Powered) return 3863;
+ else return 3864;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3865;
+ else return 3866;
+ else
+ if (Powered) return 3867;
+ else return 3868;
+ else
+ if (Open)
+ if (Powered) return 3869;
+ else return 3870;
+ else
+ if (Powered) return 3871;
+ else return 3872;
+ }
+ BlockState IronDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace IronOre
+ {
+ constexpr BlockState IronOre()
+ {
+ return 70;
+ }
+ }
+ namespace IronTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState IronTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 7538;
+ else return 7540;
+ else
+ if (Powered) return 7542;
+ else return 7544;
+ else
+ if (Open)
+ if (Powered) return 7546;
+ else return 7548;
+ else
+ if (Powered) return 7550;
+ else return 7552;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 7554;
+ else return 7556;
+ else
+ if (Powered) return 7558;
+ else return 7560;
+ else
+ if (Open)
+ if (Powered) return 7562;
+ else return 7564;
+ else
+ if (Powered) return 7566;
+ else return 7568;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 7570;
+ else return 7572;
+ else
+ if (Powered) return 7574;
+ else return 7576;
+ else
+ if (Open)
+ if (Powered) return 7578;
+ else return 7580;
+ else
+ if (Powered) return 7582;
+ else return 7584;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 7586;
+ else return 7588;
+ else
+ if (Powered) return 7590;
+ else return 7592;
+ else
+ if (Open)
+ if (Powered) return 7594;
+ else return 7596;
+ else
+ if (Powered) return 7598;
+ else return 7600;
+ }
+ BlockState IronTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace JackOLantern
+ {
+ constexpr BlockState JackOLantern(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4020;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4021;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4022;
+ else return 4023;
+ }
+ BlockState JackOLantern();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Jigsaw
+ {
+ enum class Orientation
+ {
+ DownEast,
+ DownNorth,
+ DownSouth,
+ DownWest,
+ UpEast,
+ UpNorth,
+ UpSouth,
+ UpWest,
+ WestUp,
+ EastUp,
+ NorthUp,
+ SouthUp
+ };
+ constexpr BlockState Jigsaw(const enum Orientation Orientation)
+ {
+ if (Orientation == Orientation::DownEast) return 15739;
+ else if (Orientation == Orientation::DownNorth) return 15740;
+ else if (Orientation == Orientation::DownSouth) return 15741;
+ else if (Orientation == Orientation::DownWest) return 15742;
+ else if (Orientation == Orientation::UpEast) return 15743;
+ else if (Orientation == Orientation::UpNorth) return 15744;
+ else if (Orientation == Orientation::UpSouth) return 15745;
+ else if (Orientation == Orientation::UpWest) return 15746;
+ else if (Orientation == Orientation::WestUp) return 15747;
+ else if (Orientation == Orientation::EastUp) return 15748;
+ else if (Orientation == Orientation::NorthUp) return 15749;
+ else return 15750;
+ }
+ BlockState Jigsaw();
+ enum Orientation Orientation(BlockState Block);
+ }
+ namespace Jukebox
+ {
+ constexpr BlockState Jukebox(const bool HasRecord)
+ {
+ if (HasRecord) return 3964;
+ else return 3965;
+ }
+ BlockState Jukebox();
+ bool HasRecord(BlockState Block);
+ }
+ namespace JungleButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState JungleButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6418;
+ else return 6419;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6420;
+ else return 6421;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6422;
+ else return 6423;
+ else
+ if (Powered) return 6424;
+ else return 6425;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6426;
+ else return 6427;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6428;
+ else return 6429;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6430;
+ else return 6431;
+ else
+ if (Powered) return 6432;
+ else return 6433;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6434;
+ else return 6435;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6436;
+ else return 6437;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6438;
+ else return 6439;
+ else
+ if (Powered) return 6440;
+ else return 6441;
+ }
+ BlockState JungleButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace JungleDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState JungleDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8866;
+ else return 8867;
+ else
+ if (Powered) return 8868;
+ else return 8869;
+ else
+ if (Open)
+ if (Powered) return 8870;
+ else return 8871;
+ else
+ if (Powered) return 8872;
+ else return 8873;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8874;
+ else return 8875;
+ else
+ if (Powered) return 8876;
+ else return 8877;
+ else
+ if (Open)
+ if (Powered) return 8878;
+ else return 8879;
+ else
+ if (Powered) return 8880;
+ else return 8881;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8882;
+ else return 8883;
+ else
+ if (Powered) return 8884;
+ else return 8885;
+ else
+ if (Open)
+ if (Powered) return 8886;
+ else return 8887;
+ else
+ if (Powered) return 8888;
+ else return 8889;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8890;
+ else return 8891;
+ else
+ if (Powered) return 8892;
+ else return 8893;
+ else
+ if (Open)
+ if (Powered) return 8894;
+ else return 8895;
+ else
+ if (Powered) return 8896;
+ else return 8897;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8898;
+ else return 8899;
+ else
+ if (Powered) return 8900;
+ else return 8901;
+ else
+ if (Open)
+ if (Powered) return 8902;
+ else return 8903;
+ else
+ if (Powered) return 8904;
+ else return 8905;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8906;
+ else return 8907;
+ else
+ if (Powered) return 8908;
+ else return 8909;
+ else
+ if (Open)
+ if (Powered) return 8910;
+ else return 8911;
+ else
+ if (Powered) return 8912;
+ else return 8913;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8914;
+ else return 8915;
+ else
+ if (Powered) return 8916;
+ else return 8917;
+ else
+ if (Open)
+ if (Powered) return 8918;
+ else return 8919;
+ else
+ if (Powered) return 8920;
+ else return 8921;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8922;
+ else return 8923;
+ else
+ if (Powered) return 8924;
+ else return 8925;
+ else
+ if (Open)
+ if (Powered) return 8926;
+ else return 8927;
+ else
+ if (Powered) return 8928;
+ else return 8929;
+ }
+ BlockState JungleDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace JungleFence
+ {
+ constexpr BlockState JungleFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 8644;
+ else return 8645;
+ else
+ if (West) return 8648;
+ else return 8649;
+ else
+ if (South)
+ if (West) return 8652;
+ else return 8653;
+ else
+ if (West) return 8656;
+ else return 8657;
+ else
+ if (North)
+ if (South)
+ if (West) return 8660;
+ else return 8661;
+ else
+ if (West) return 8664;
+ else return 8665;
+ else
+ if (South)
+ if (West) return 8668;
+ else return 8669;
+ else
+ if (West) return 8672;
+ else return 8673;
+ }
+ BlockState JungleFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace JungleFenceGate
+ {
+ constexpr BlockState JungleFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8482;
+ else return 8483;
+ else
+ if (Powered) return 8484;
+ else return 8485;
+ else
+ if (Open)
+ if (Powered) return 8486;
+ else return 8487;
+ else
+ if (Powered) return 8488;
+ else return 8489;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8490;
+ else return 8491;
+ else
+ if (Powered) return 8492;
+ else return 8493;
+ else
+ if (Open)
+ if (Powered) return 8494;
+ else return 8495;
+ else
+ if (Powered) return 8496;
+ else return 8497;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8498;
+ else return 8499;
+ else
+ if (Powered) return 8500;
+ else return 8501;
+ else
+ if (Open)
+ if (Powered) return 8502;
+ else return 8503;
+ else
+ if (Powered) return 8504;
+ else return 8505;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 8506;
+ else return 8507;
+ else
+ if (Powered) return 8508;
+ else return 8509;
+ else
+ if (Open)
+ if (Powered) return 8510;
+ else return 8511;
+ else
+ if (Powered) return 8512;
+ else return 8513;
+ }
+ BlockState JungleFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace JungleLeaves
+ {
+ constexpr BlockState JungleLeaves(const unsigned char Distance, const bool Persistent)
+ {
+ if (Distance == 1)
+ if (Persistent) return 187;
+ else return 188;
+ else if (Distance == 2)
+ if (Persistent) return 189;
+ else return 190;
+ else if (Distance == 3)
+ if (Persistent) return 191;
+ else return 192;
+ else if (Distance == 4)
+ if (Persistent) return 193;
+ else return 194;
+ else if (Distance == 5)
+ if (Persistent) return 195;
+ else return 196;
+ else if (Distance == 6)
+ if (Persistent) return 197;
+ else return 198;
+ else
+ if (Persistent) return 199;
+ else return 200;
+ }
+ BlockState JungleLeaves();
+ unsigned char Distance(BlockState Block);
+ bool Persistent(BlockState Block);
+ }
+ namespace JungleLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState JungleLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 82;
+ else if (Axis == Axis::Y) return 83;
+ else return 84;
+ }
+ BlockState JungleLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace JunglePlanks
+ {
+ constexpr BlockState JunglePlanks()
+ {
+ return 18;
+ }
+ }
+ namespace JunglePressurePlate
+ {
+ constexpr BlockState JunglePressurePlate(const bool Powered)
+ {
+ if (Powered) return 3879;
+ else return 3880;
+ }
+ BlockState JunglePressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace JungleSapling
+ {
+ constexpr BlockState JungleSapling(const unsigned char Stage)
+ {
+ if (Stage == 0) return 27;
+ else return 28;
+ }
+ BlockState JungleSapling();
+ unsigned char Stage(BlockState Block);
+ }
+ namespace JungleSign
+ {
+ constexpr BlockState JungleSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 3510;
+ else if (Rotation == 1) return 3512;
+ else if (Rotation == 2) return 3514;
+ else if (Rotation == 3) return 3516;
+ else if (Rotation == 4) return 3518;
+ else if (Rotation == 5) return 3520;
+ else if (Rotation == 6) return 3522;
+ else if (Rotation == 7) return 3524;
+ else if (Rotation == 8) return 3526;
+ else if (Rotation == 9) return 3528;
+ else if (Rotation == 10) return 3530;
+ else if (Rotation == 11) return 3532;
+ else if (Rotation == 12) return 3534;
+ else if (Rotation == 13) return 3536;
+ else if (Rotation == 14) return 3538;
+ else return 3540;
+ }
+ BlockState JungleSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace JungleSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState JungleSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8319;
+ else if (Type == Type::Bottom) return 8321;
+ else return 8323;
+ }
+ BlockState JungleSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace JungleStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState JungleStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5565;
+ else if (Shape == Shape::InnerLeft) return 5567;
+ else if (Shape == Shape::InnerRight) return 5569;
+ else if (Shape == Shape::OuterLeft) return 5571;
+ else return 5573;
+ else
+ if (Shape == Shape::Straight) return 5575;
+ else if (Shape == Shape::InnerLeft) return 5577;
+ else if (Shape == Shape::InnerRight) return 5579;
+ else if (Shape == Shape::OuterLeft) return 5581;
+ else return 5583;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5585;
+ else if (Shape == Shape::InnerLeft) return 5587;
+ else if (Shape == Shape::InnerRight) return 5589;
+ else if (Shape == Shape::OuterLeft) return 5591;
+ else return 5593;
+ else
+ if (Shape == Shape::Straight) return 5595;
+ else if (Shape == Shape::InnerLeft) return 5597;
+ else if (Shape == Shape::InnerRight) return 5599;
+ else if (Shape == Shape::OuterLeft) return 5601;
+ else return 5603;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5605;
+ else if (Shape == Shape::InnerLeft) return 5607;
+ else if (Shape == Shape::InnerRight) return 5609;
+ else if (Shape == Shape::OuterLeft) return 5611;
+ else return 5613;
+ else
+ if (Shape == Shape::Straight) return 5615;
+ else if (Shape == Shape::InnerLeft) return 5617;
+ else if (Shape == Shape::InnerRight) return 5619;
+ else if (Shape == Shape::OuterLeft) return 5621;
+ else return 5623;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5625;
+ else if (Shape == Shape::InnerLeft) return 5627;
+ else if (Shape == Shape::InnerRight) return 5629;
+ else if (Shape == Shape::OuterLeft) return 5631;
+ else return 5633;
+ else
+ if (Shape == Shape::Straight) return 5635;
+ else if (Shape == Shape::InnerLeft) return 5637;
+ else if (Shape == Shape::InnerRight) return 5639;
+ else if (Shape == Shape::OuterLeft) return 5641;
+ else return 5643;
+ }
+ BlockState JungleStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace JungleTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState JungleTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4304;
+ else return 4306;
+ else
+ if (Powered) return 4308;
+ else return 4310;
+ else
+ if (Open)
+ if (Powered) return 4312;
+ else return 4314;
+ else
+ if (Powered) return 4316;
+ else return 4318;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4320;
+ else return 4322;
+ else
+ if (Powered) return 4324;
+ else return 4326;
+ else
+ if (Open)
+ if (Powered) return 4328;
+ else return 4330;
+ else
+ if (Powered) return 4332;
+ else return 4334;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4336;
+ else return 4338;
+ else
+ if (Powered) return 4340;
+ else return 4342;
+ else
+ if (Open)
+ if (Powered) return 4344;
+ else return 4346;
+ else
+ if (Powered) return 4348;
+ else return 4350;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4352;
+ else return 4354;
+ else
+ if (Powered) return 4356;
+ else return 4358;
+ else
+ if (Open)
+ if (Powered) return 4360;
+ else return 4362;
+ else
+ if (Powered) return 4364;
+ else return 4366;
+ }
+ BlockState JungleTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace JungleWallSign
+ {
+ constexpr BlockState JungleWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3768;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3770;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3772;
+ else return 3774;
+ }
+ BlockState JungleWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace JungleWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState JungleWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 118;
+ else if (Axis == Axis::Y) return 119;
+ else return 120;
+ }
+ BlockState JungleWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace Kelp
+ {
+ constexpr BlockState Kelp(const unsigned char Age)
+ {
+ if (Age == 0) return 9470;
+ else if (Age == 1) return 9471;
+ else if (Age == 2) return 9472;
+ else if (Age == 3) return 9473;
+ else if (Age == 4) return 9474;
+ else if (Age == 5) return 9475;
+ else if (Age == 6) return 9476;
+ else if (Age == 7) return 9477;
+ else if (Age == 8) return 9478;
+ else if (Age == 9) return 9479;
+ else if (Age == 10) return 9480;
+ else if (Age == 11) return 9481;
+ else if (Age == 12) return 9482;
+ else if (Age == 13) return 9483;
+ else if (Age == 14) return 9484;
+ else if (Age == 15) return 9485;
+ else if (Age == 16) return 9486;
+ else if (Age == 17) return 9487;
+ else if (Age == 18) return 9488;
+ else if (Age == 19) return 9489;
+ else if (Age == 20) return 9490;
+ else if (Age == 21) return 9491;
+ else if (Age == 22) return 9492;
+ else if (Age == 23) return 9493;
+ else if (Age == 24) return 9494;
+ else return 9495;
+ }
+ BlockState Kelp();
+ unsigned char Age(BlockState Block);
+ }
+ namespace KelpPlant
+ {
+ constexpr BlockState KelpPlant()
+ {
+ return 9496;
+ }
+ }
+ namespace Ladder
+ {
+ constexpr BlockState Ladder(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3638;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3640;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3642;
+ else return 3644;
+ }
+ BlockState Ladder();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Lantern
+ {
+ constexpr BlockState Lantern(const bool Hanging)
+ {
+ if (Hanging) return 14886;
+ else return 14887;
+ }
+ BlockState Lantern();
+ bool Hanging(BlockState Block);
+ }
+ namespace LapisBlock
+ {
+ constexpr BlockState LapisBlock()
+ {
+ return 233;
+ }
+ }
+ namespace LapisOre
+ {
+ constexpr BlockState LapisOre()
+ {
+ return 232;
+ }
+ }
+ namespace LargeFern
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ constexpr BlockState LargeFern(const enum Half Half)
+ {
+ if (Half == Half::Upper) return 7895;
+ else return 7896;
+ }
+ BlockState LargeFern();
+ enum Half Half(BlockState Block);
+ }
+ namespace Lava
+ {
+ constexpr BlockState Lava(const unsigned char Level)
+ {
+ if (Level == 0) return 50;
+ else if (Level == 1) return 51;
+ else if (Level == 2) return 52;
+ else if (Level == 3) return 53;
+ else if (Level == 4) return 54;
+ else if (Level == 5) return 55;
+ else if (Level == 6) return 56;
+ else if (Level == 7) return 57;
+ else if (Level == 8) return 58;
+ else if (Level == 9) return 59;
+ else if (Level == 10) return 60;
+ else if (Level == 11) return 61;
+ else if (Level == 12) return 62;
+ else if (Level == 13) return 63;
+ else if (Level == 14) return 64;
+ else return 65;
+ }
+ BlockState Lava();
+ unsigned char Level(BlockState Block);
+ }
+ namespace Lectern
+ {
+ constexpr BlockState Lectern(const eBlockFace Facing, const bool HasBook, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (HasBook)
+ if (Powered) return 14833;
+ else return 14834;
+ else
+ if (Powered) return 14835;
+ else return 14836;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (HasBook)
+ if (Powered) return 14837;
+ else return 14838;
+ else
+ if (Powered) return 14839;
+ else return 14840;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (HasBook)
+ if (Powered) return 14841;
+ else return 14842;
+ else
+ if (Powered) return 14843;
+ else return 14844;
+ else
+ if (HasBook)
+ if (Powered) return 14845;
+ else return 14846;
+ else
+ if (Powered) return 14847;
+ else return 14848;
+ }
+ BlockState Lectern();
+ eBlockFace Facing(BlockState Block);
+ bool HasBook(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace Lever
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState Lever(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 3783;
+ else return 3784;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 3785;
+ else return 3786;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 3787;
+ else return 3788;
+ else
+ if (Powered) return 3789;
+ else return 3790;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 3791;
+ else return 3792;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 3793;
+ else return 3794;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 3795;
+ else return 3796;
+ else
+ if (Powered) return 3797;
+ else return 3798;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 3799;
+ else return 3800;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 3801;
+ else return 3802;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 3803;
+ else return 3804;
+ else
+ if (Powered) return 3805;
+ else return 3806;
+ }
+ BlockState Lever();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace LightBlueBanner
+ {
+ constexpr BlockState LightBlueBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 7945;
+ else if (Rotation == 1) return 7946;
+ else if (Rotation == 2) return 7947;
+ else if (Rotation == 3) return 7948;
+ else if (Rotation == 4) return 7949;
+ else if (Rotation == 5) return 7950;
+ else if (Rotation == 6) return 7951;
+ else if (Rotation == 7) return 7952;
+ else if (Rotation == 8) return 7953;
+ else if (Rotation == 9) return 7954;
+ else if (Rotation == 10) return 7955;
+ else if (Rotation == 11) return 7956;
+ else if (Rotation == 12) return 7957;
+ else if (Rotation == 13) return 7958;
+ else if (Rotation == 14) return 7959;
+ else return 7960;
+ }
+ BlockState LightBlueBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace LightBlueBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState LightBlueBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1097;
+ else return 1098;
+ else
+ if (Part == Part::Head) return 1099;
+ else return 1100;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1101;
+ else return 1102;
+ else
+ if (Part == Part::Head) return 1103;
+ else return 1104;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1105;
+ else return 1106;
+ else
+ if (Part == Part::Head) return 1107;
+ else return 1108;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1109;
+ else return 1110;
+ else
+ if (Part == Part::Head) return 1111;
+ else return 1112;
+ }
+ BlockState LightBlueBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace LightBlueCarpet
+ {
+ constexpr BlockState LightBlueCarpet()
+ {
+ return 7869;
+ }
+ }
+ namespace LightBlueConcrete
+ {
+ constexpr BlockState LightBlueConcrete()
+ {
+ return 9441;
+ }
+ }
+ namespace LightBlueConcretePowder
+ {
+ constexpr BlockState LightBlueConcretePowder()
+ {
+ return 9457;
+ }
+ }
+ namespace LightBlueGlazedTerracotta
+ {
+ constexpr BlockState LightBlueGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9386;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9387;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9388;
+ else return 9389;
+ }
+ BlockState LightBlueGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LightBlueShulkerBox
+ {
+ constexpr BlockState LightBlueShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9296;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9297;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9298;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9299;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9300;
+ else return 9301;
+ }
+ BlockState LightBlueShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LightBlueStainedGlass
+ {
+ constexpr BlockState LightBlueStainedGlass()
+ {
+ return 4098;
+ }
+ }
+ namespace LightBlueStainedGlassPane
+ {
+ constexpr BlockState LightBlueStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 6961;
+ else return 6962;
+ else
+ if (West) return 6965;
+ else return 6966;
+ else
+ if (South)
+ if (West) return 6969;
+ else return 6970;
+ else
+ if (West) return 6973;
+ else return 6974;
+ else
+ if (North)
+ if (South)
+ if (West) return 6977;
+ else return 6978;
+ else
+ if (West) return 6981;
+ else return 6982;
+ else
+ if (South)
+ if (West) return 6985;
+ else return 6986;
+ else
+ if (West) return 6989;
+ else return 6990;
+ }
+ BlockState LightBlueStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace LightBlueTerracotta
+ {
+ constexpr BlockState LightBlueTerracotta()
+ {
+ return 6850;
+ }
+ }
+ namespace LightBlueWallBanner
+ {
+ constexpr BlockState LightBlueWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8165;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8166;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8167;
+ else return 8168;
+ }
+ BlockState LightBlueWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LightBlueWool
+ {
+ constexpr BlockState LightBlueWool()
+ {
+ return 1387;
+ }
+ }
+ namespace LightGrayBanner
+ {
+ constexpr BlockState LightGrayBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8025;
+ else if (Rotation == 1) return 8026;
+ else if (Rotation == 2) return 8027;
+ else if (Rotation == 3) return 8028;
+ else if (Rotation == 4) return 8029;
+ else if (Rotation == 5) return 8030;
+ else if (Rotation == 6) return 8031;
+ else if (Rotation == 7) return 8032;
+ else if (Rotation == 8) return 8033;
+ else if (Rotation == 9) return 8034;
+ else if (Rotation == 10) return 8035;
+ else if (Rotation == 11) return 8036;
+ else if (Rotation == 12) return 8037;
+ else if (Rotation == 13) return 8038;
+ else if (Rotation == 14) return 8039;
+ else return 8040;
+ }
+ BlockState LightGrayBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace LightGrayBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState LightGrayBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1177;
+ else return 1178;
+ else
+ if (Part == Part::Head) return 1179;
+ else return 1180;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1181;
+ else return 1182;
+ else
+ if (Part == Part::Head) return 1183;
+ else return 1184;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1185;
+ else return 1186;
+ else
+ if (Part == Part::Head) return 1187;
+ else return 1188;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1189;
+ else return 1190;
+ else
+ if (Part == Part::Head) return 1191;
+ else return 1192;
+ }
+ BlockState LightGrayBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace LightGrayCarpet
+ {
+ constexpr BlockState LightGrayCarpet()
+ {
+ return 7874;
+ }
+ }
+ namespace LightGrayConcrete
+ {
+ constexpr BlockState LightGrayConcrete()
+ {
+ return 9446;
+ }
+ }
+ namespace LightGrayConcretePowder
+ {
+ constexpr BlockState LightGrayConcretePowder()
+ {
+ return 9462;
+ }
+ }
+ namespace LightGrayGlazedTerracotta
+ {
+ constexpr BlockState LightGrayGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9406;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9407;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9408;
+ else return 9409;
+ }
+ BlockState LightGrayGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LightGrayShulkerBox
+ {
+ constexpr BlockState LightGrayShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9326;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9327;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9328;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9329;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9330;
+ else return 9331;
+ }
+ BlockState LightGrayShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LightGrayStainedGlass
+ {
+ constexpr BlockState LightGrayStainedGlass()
+ {
+ return 4103;
+ }
+ }
+ namespace LightGrayStainedGlassPane
+ {
+ constexpr BlockState LightGrayStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7121;
+ else return 7122;
+ else
+ if (West) return 7125;
+ else return 7126;
+ else
+ if (South)
+ if (West) return 7129;
+ else return 7130;
+ else
+ if (West) return 7133;
+ else return 7134;
+ else
+ if (North)
+ if (South)
+ if (West) return 7137;
+ else return 7138;
+ else
+ if (West) return 7141;
+ else return 7142;
+ else
+ if (South)
+ if (West) return 7145;
+ else return 7146;
+ else
+ if (West) return 7149;
+ else return 7150;
+ }
+ BlockState LightGrayStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace LightGrayTerracotta
+ {
+ constexpr BlockState LightGrayTerracotta()
+ {
+ return 6855;
+ }
+ }
+ namespace LightGrayWallBanner
+ {
+ constexpr BlockState LightGrayWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8185;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8186;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8187;
+ else return 8188;
+ }
+ BlockState LightGrayWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LightGrayWool
+ {
+ constexpr BlockState LightGrayWool()
+ {
+ return 1392;
+ }
+ }
+ namespace LightWeightedPressurePlate
+ {
+ constexpr BlockState LightWeightedPressurePlate(const unsigned char Power)
+ {
+ if (Power == 0) return 6646;
+ else if (Power == 1) return 6647;
+ else if (Power == 2) return 6648;
+ else if (Power == 3) return 6649;
+ else if (Power == 4) return 6650;
+ else if (Power == 5) return 6651;
+ else if (Power == 6) return 6652;
+ else if (Power == 7) return 6653;
+ else if (Power == 8) return 6654;
+ else if (Power == 9) return 6655;
+ else if (Power == 10) return 6656;
+ else if (Power == 11) return 6657;
+ else if (Power == 12) return 6658;
+ else if (Power == 13) return 6659;
+ else if (Power == 14) return 6660;
+ else return 6661;
+ }
+ BlockState LightWeightedPressurePlate();
+ unsigned char Power(BlockState Block);
+ }
+ namespace Lilac
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ constexpr BlockState Lilac(const enum Half Half)
+ {
+ if (Half == Half::Upper) return 7887;
+ else return 7888;
+ }
+ BlockState Lilac();
+ enum Half Half(BlockState Block);
+ }
+ namespace LilyOfTheValley
+ {
+ constexpr BlockState LilyOfTheValley()
+ {
+ return 1424;
+ }
+ }
+ namespace LilyPad
+ {
+ constexpr BlockState LilyPad()
+ {
+ return 5014;
+ }
+ }
+ namespace LimeBanner
+ {
+ constexpr BlockState LimeBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 7977;
+ else if (Rotation == 1) return 7978;
+ else if (Rotation == 2) return 7979;
+ else if (Rotation == 3) return 7980;
+ else if (Rotation == 4) return 7981;
+ else if (Rotation == 5) return 7982;
+ else if (Rotation == 6) return 7983;
+ else if (Rotation == 7) return 7984;
+ else if (Rotation == 8) return 7985;
+ else if (Rotation == 9) return 7986;
+ else if (Rotation == 10) return 7987;
+ else if (Rotation == 11) return 7988;
+ else if (Rotation == 12) return 7989;
+ else if (Rotation == 13) return 7990;
+ else if (Rotation == 14) return 7991;
+ else return 7992;
+ }
+ BlockState LimeBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace LimeBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState LimeBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1129;
+ else return 1130;
+ else
+ if (Part == Part::Head) return 1131;
+ else return 1132;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1133;
+ else return 1134;
+ else
+ if (Part == Part::Head) return 1135;
+ else return 1136;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1137;
+ else return 1138;
+ else
+ if (Part == Part::Head) return 1139;
+ else return 1140;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1141;
+ else return 1142;
+ else
+ if (Part == Part::Head) return 1143;
+ else return 1144;
+ }
+ BlockState LimeBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace LimeCarpet
+ {
+ constexpr BlockState LimeCarpet()
+ {
+ return 7871;
+ }
+ }
+ namespace LimeConcrete
+ {
+ constexpr BlockState LimeConcrete()
+ {
+ return 9443;
+ }
+ }
+ namespace LimeConcretePowder
+ {
+ constexpr BlockState LimeConcretePowder()
+ {
+ return 9459;
+ }
+ }
+ namespace LimeGlazedTerracotta
+ {
+ constexpr BlockState LimeGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9394;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9395;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9396;
+ else return 9397;
+ }
+ BlockState LimeGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LimeShulkerBox
+ {
+ constexpr BlockState LimeShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9308;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9309;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9310;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9311;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9312;
+ else return 9313;
+ }
+ BlockState LimeShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LimeStainedGlass
+ {
+ constexpr BlockState LimeStainedGlass()
+ {
+ return 4100;
+ }
+ }
+ namespace LimeStainedGlassPane
+ {
+ constexpr BlockState LimeStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7025;
+ else return 7026;
+ else
+ if (West) return 7029;
+ else return 7030;
+ else
+ if (South)
+ if (West) return 7033;
+ else return 7034;
+ else
+ if (West) return 7037;
+ else return 7038;
+ else
+ if (North)
+ if (South)
+ if (West) return 7041;
+ else return 7042;
+ else
+ if (West) return 7045;
+ else return 7046;
+ else
+ if (South)
+ if (West) return 7049;
+ else return 7050;
+ else
+ if (West) return 7053;
+ else return 7054;
+ }
+ BlockState LimeStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace LimeTerracotta
+ {
+ constexpr BlockState LimeTerracotta()
+ {
+ return 6852;
+ }
+ }
+ namespace LimeWallBanner
+ {
+ constexpr BlockState LimeWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8173;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8174;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8175;
+ else return 8176;
+ }
+ BlockState LimeWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace LimeWool
+ {
+ constexpr BlockState LimeWool()
+ {
+ return 1389;
+ }
+ }
+ namespace Lodestone
+ {
+ constexpr BlockState Lodestone()
+ {
+ return 15838;
+ }
+ }
+ namespace Loom
+ {
+ constexpr BlockState Loom(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14787;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14788;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14789;
+ else return 14790;
+ }
+ BlockState Loom();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace MagentaBanner
+ {
+ constexpr BlockState MagentaBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 7929;
+ else if (Rotation == 1) return 7930;
+ else if (Rotation == 2) return 7931;
+ else if (Rotation == 3) return 7932;
+ else if (Rotation == 4) return 7933;
+ else if (Rotation == 5) return 7934;
+ else if (Rotation == 6) return 7935;
+ else if (Rotation == 7) return 7936;
+ else if (Rotation == 8) return 7937;
+ else if (Rotation == 9) return 7938;
+ else if (Rotation == 10) return 7939;
+ else if (Rotation == 11) return 7940;
+ else if (Rotation == 12) return 7941;
+ else if (Rotation == 13) return 7942;
+ else if (Rotation == 14) return 7943;
+ else return 7944;
+ }
+ BlockState MagentaBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace MagentaBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState MagentaBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1081;
+ else return 1082;
+ else
+ if (Part == Part::Head) return 1083;
+ else return 1084;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1085;
+ else return 1086;
+ else
+ if (Part == Part::Head) return 1087;
+ else return 1088;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1089;
+ else return 1090;
+ else
+ if (Part == Part::Head) return 1091;
+ else return 1092;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1093;
+ else return 1094;
+ else
+ if (Part == Part::Head) return 1095;
+ else return 1096;
+ }
+ BlockState MagentaBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace MagentaCarpet
+ {
+ constexpr BlockState MagentaCarpet()
+ {
+ return 7868;
+ }
+ }
+ namespace MagentaConcrete
+ {
+ constexpr BlockState MagentaConcrete()
+ {
+ return 9440;
+ }
+ }
+ namespace MagentaConcretePowder
+ {
+ constexpr BlockState MagentaConcretePowder()
+ {
+ return 9456;
+ }
+ }
+ namespace MagentaGlazedTerracotta
+ {
+ constexpr BlockState MagentaGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9382;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9383;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9384;
+ else return 9385;
+ }
+ BlockState MagentaGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace MagentaShulkerBox
+ {
+ constexpr BlockState MagentaShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9290;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9291;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9292;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9293;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9294;
+ else return 9295;
+ }
+ BlockState MagentaShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace MagentaStainedGlass
+ {
+ constexpr BlockState MagentaStainedGlass()
+ {
+ return 4097;
+ }
+ }
+ namespace MagentaStainedGlassPane
+ {
+ constexpr BlockState MagentaStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 6929;
+ else return 6930;
+ else
+ if (West) return 6933;
+ else return 6934;
+ else
+ if (South)
+ if (West) return 6937;
+ else return 6938;
+ else
+ if (West) return 6941;
+ else return 6942;
+ else
+ if (North)
+ if (South)
+ if (West) return 6945;
+ else return 6946;
+ else
+ if (West) return 6949;
+ else return 6950;
+ else
+ if (South)
+ if (West) return 6953;
+ else return 6954;
+ else
+ if (West) return 6957;
+ else return 6958;
+ }
+ BlockState MagentaStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace MagentaTerracotta
+ {
+ constexpr BlockState MagentaTerracotta()
+ {
+ return 6849;
+ }
+ }
+ namespace MagentaWallBanner
+ {
+ constexpr BlockState MagentaWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8161;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8162;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8163;
+ else return 8164;
+ }
+ BlockState MagentaWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace MagentaWool
+ {
+ constexpr BlockState MagentaWool()
+ {
+ return 1386;
+ }
+ }
+ namespace MagmaBlock
+ {
+ constexpr BlockState MagmaBlock()
+ {
+ return 9253;
+ }
+ }
+ namespace Melon
+ {
+ constexpr BlockState Melon()
+ {
+ return 4763;
+ }
+ }
+ namespace MelonStem
+ {
+ constexpr BlockState MelonStem(const unsigned char Age)
+ {
+ if (Age == 0) return 4780;
+ else if (Age == 1) return 4781;
+ else if (Age == 2) return 4782;
+ else if (Age == 3) return 4783;
+ else if (Age == 4) return 4784;
+ else if (Age == 5) return 4785;
+ else if (Age == 6) return 4786;
+ else return 4787;
+ }
+ BlockState MelonStem();
+ unsigned char Age(BlockState Block);
+ }
+ namespace MossyCobblestone
+ {
+ constexpr BlockState MossyCobblestone()
+ {
+ return 1433;
+ }
+ }
+ namespace MossyCobblestoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState MossyCobblestoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10814;
+ else if (Type == Type::Bottom) return 10816;
+ else return 10818;
+ }
+ BlockState MossyCobblestoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace MossyCobblestoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState MossyCobblestoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9990;
+ else if (Shape == Shape::InnerLeft) return 9992;
+ else if (Shape == Shape::InnerRight) return 9994;
+ else if (Shape == Shape::OuterLeft) return 9996;
+ else return 9998;
+ else
+ if (Shape == Shape::Straight) return 10000;
+ else if (Shape == Shape::InnerLeft) return 10002;
+ else if (Shape == Shape::InnerRight) return 10004;
+ else if (Shape == Shape::OuterLeft) return 10006;
+ else return 10008;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10010;
+ else if (Shape == Shape::InnerLeft) return 10012;
+ else if (Shape == Shape::InnerRight) return 10014;
+ else if (Shape == Shape::OuterLeft) return 10016;
+ else return 10018;
+ else
+ if (Shape == Shape::Straight) return 10020;
+ else if (Shape == Shape::InnerLeft) return 10022;
+ else if (Shape == Shape::InnerRight) return 10024;
+ else if (Shape == Shape::OuterLeft) return 10026;
+ else return 10028;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10030;
+ else if (Shape == Shape::InnerLeft) return 10032;
+ else if (Shape == Shape::InnerRight) return 10034;
+ else if (Shape == Shape::OuterLeft) return 10036;
+ else return 10038;
+ else
+ if (Shape == Shape::Straight) return 10040;
+ else if (Shape == Shape::InnerLeft) return 10042;
+ else if (Shape == Shape::InnerRight) return 10044;
+ else if (Shape == Shape::OuterLeft) return 10046;
+ else return 10048;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10050;
+ else if (Shape == Shape::InnerLeft) return 10052;
+ else if (Shape == Shape::InnerRight) return 10054;
+ else if (Shape == Shape::OuterLeft) return 10056;
+ else return 10058;
+ else
+ if (Shape == Shape::Straight) return 10060;
+ else if (Shape == Shape::InnerLeft) return 10062;
+ else if (Shape == Shape::InnerRight) return 10064;
+ else if (Shape == Shape::OuterLeft) return 10066;
+ else return 10068;
+ }
+ BlockState MossyCobblestoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace MossyCobblestoneWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState MossyCobblestoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 5984;
+ else if (West == West::Low) return 5985;
+ else return 5986;
+ else
+ if (West == West::None) return 5990;
+ else if (West == West::Low) return 5991;
+ else return 5992;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 5996;
+ else if (West == West::Low) return 5997;
+ else return 5998;
+ else
+ if (West == West::None) return 6002;
+ else if (West == West::Low) return 6003;
+ else return 6004;
+ else
+ if (Up)
+ if (West == West::None) return 6008;
+ else if (West == West::Low) return 6009;
+ else return 6010;
+ else
+ if (West == West::None) return 6014;
+ else if (West == West::Low) return 6015;
+ else return 6016;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6020;
+ else if (West == West::Low) return 6021;
+ else return 6022;
+ else
+ if (West == West::None) return 6026;
+ else if (West == West::Low) return 6027;
+ else return 6028;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6032;
+ else if (West == West::Low) return 6033;
+ else return 6034;
+ else
+ if (West == West::None) return 6038;
+ else if (West == West::Low) return 6039;
+ else return 6040;
+ else
+ if (Up)
+ if (West == West::None) return 6044;
+ else if (West == West::Low) return 6045;
+ else return 6046;
+ else
+ if (West == West::None) return 6050;
+ else if (West == West::Low) return 6051;
+ else return 6052;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6056;
+ else if (West == West::Low) return 6057;
+ else return 6058;
+ else
+ if (West == West::None) return 6062;
+ else if (West == West::Low) return 6063;
+ else return 6064;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6068;
+ else if (West == West::Low) return 6069;
+ else return 6070;
+ else
+ if (West == West::None) return 6074;
+ else if (West == West::Low) return 6075;
+ else return 6076;
+ else
+ if (Up)
+ if (West == West::None) return 6080;
+ else if (West == West::Low) return 6081;
+ else return 6082;
+ else
+ if (West == West::None) return 6086;
+ else if (West == West::Low) return 6087;
+ else return 6088;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6092;
+ else if (West == West::Low) return 6093;
+ else return 6094;
+ else
+ if (West == West::None) return 6098;
+ else if (West == West::Low) return 6099;
+ else return 6100;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6104;
+ else if (West == West::Low) return 6105;
+ else return 6106;
+ else
+ if (West == West::None) return 6110;
+ else if (West == West::Low) return 6111;
+ else return 6112;
+ else
+ if (Up)
+ if (West == West::None) return 6116;
+ else if (West == West::Low) return 6117;
+ else return 6118;
+ else
+ if (West == West::None) return 6122;
+ else if (West == West::Low) return 6123;
+ else return 6124;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6128;
+ else if (West == West::Low) return 6129;
+ else return 6130;
+ else
+ if (West == West::None) return 6134;
+ else if (West == West::Low) return 6135;
+ else return 6136;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6140;
+ else if (West == West::Low) return 6141;
+ else return 6142;
+ else
+ if (West == West::None) return 6146;
+ else if (West == West::Low) return 6147;
+ else return 6148;
+ else
+ if (Up)
+ if (West == West::None) return 6152;
+ else if (West == West::Low) return 6153;
+ else return 6154;
+ else
+ if (West == West::None) return 6158;
+ else if (West == West::Low) return 6159;
+ else return 6160;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6164;
+ else if (West == West::Low) return 6165;
+ else return 6166;
+ else
+ if (West == West::None) return 6170;
+ else if (West == West::Low) return 6171;
+ else return 6172;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6176;
+ else if (West == West::Low) return 6177;
+ else return 6178;
+ else
+ if (West == West::None) return 6182;
+ else if (West == West::Low) return 6183;
+ else return 6184;
+ else
+ if (Up)
+ if (West == West::None) return 6188;
+ else if (West == West::Low) return 6189;
+ else return 6190;
+ else
+ if (West == West::None) return 6194;
+ else if (West == West::Low) return 6195;
+ else return 6196;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6200;
+ else if (West == West::Low) return 6201;
+ else return 6202;
+ else
+ if (West == West::None) return 6206;
+ else if (West == West::Low) return 6207;
+ else return 6208;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6212;
+ else if (West == West::Low) return 6213;
+ else return 6214;
+ else
+ if (West == West::None) return 6218;
+ else if (West == West::Low) return 6219;
+ else return 6220;
+ else
+ if (Up)
+ if (West == West::None) return 6224;
+ else if (West == West::Low) return 6225;
+ else return 6226;
+ else
+ if (West == West::None) return 6230;
+ else if (West == West::Low) return 6231;
+ else return 6232;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6236;
+ else if (West == West::Low) return 6237;
+ else return 6238;
+ else
+ if (West == West::None) return 6242;
+ else if (West == West::Low) return 6243;
+ else return 6244;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6248;
+ else if (West == West::Low) return 6249;
+ else return 6250;
+ else
+ if (West == West::None) return 6254;
+ else if (West == West::Low) return 6255;
+ else return 6256;
+ else
+ if (Up)
+ if (West == West::None) return 6260;
+ else if (West == West::Low) return 6261;
+ else return 6262;
+ else
+ if (West == West::None) return 6266;
+ else if (West == West::Low) return 6267;
+ else return 6268;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 6272;
+ else if (West == West::Low) return 6273;
+ else return 6274;
+ else
+ if (West == West::None) return 6278;
+ else if (West == West::Low) return 6279;
+ else return 6280;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 6284;
+ else if (West == West::Low) return 6285;
+ else return 6286;
+ else
+ if (West == West::None) return 6290;
+ else if (West == West::Low) return 6291;
+ else return 6292;
+ else
+ if (Up)
+ if (West == West::None) return 6296;
+ else if (West == West::Low) return 6297;
+ else return 6298;
+ else
+ if (West == West::None) return 6302;
+ else if (West == West::Low) return 6303;
+ else return 6304;
+ }
+ BlockState MossyCobblestoneWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace MossyStoneBrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState MossyStoneBrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10802;
+ else if (Type == Type::Bottom) return 10804;
+ else return 10806;
+ }
+ BlockState MossyStoneBrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace MossyStoneBrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState MossyStoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9830;
+ else if (Shape == Shape::InnerLeft) return 9832;
+ else if (Shape == Shape::InnerRight) return 9834;
+ else if (Shape == Shape::OuterLeft) return 9836;
+ else return 9838;
+ else
+ if (Shape == Shape::Straight) return 9840;
+ else if (Shape == Shape::InnerLeft) return 9842;
+ else if (Shape == Shape::InnerRight) return 9844;
+ else if (Shape == Shape::OuterLeft) return 9846;
+ else return 9848;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9850;
+ else if (Shape == Shape::InnerLeft) return 9852;
+ else if (Shape == Shape::InnerRight) return 9854;
+ else if (Shape == Shape::OuterLeft) return 9856;
+ else return 9858;
+ else
+ if (Shape == Shape::Straight) return 9860;
+ else if (Shape == Shape::InnerLeft) return 9862;
+ else if (Shape == Shape::InnerRight) return 9864;
+ else if (Shape == Shape::OuterLeft) return 9866;
+ else return 9868;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9870;
+ else if (Shape == Shape::InnerLeft) return 9872;
+ else if (Shape == Shape::InnerRight) return 9874;
+ else if (Shape == Shape::OuterLeft) return 9876;
+ else return 9878;
+ else
+ if (Shape == Shape::Straight) return 9880;
+ else if (Shape == Shape::InnerLeft) return 9882;
+ else if (Shape == Shape::InnerRight) return 9884;
+ else if (Shape == Shape::OuterLeft) return 9886;
+ else return 9888;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9890;
+ else if (Shape == Shape::InnerLeft) return 9892;
+ else if (Shape == Shape::InnerRight) return 9894;
+ else if (Shape == Shape::OuterLeft) return 9896;
+ else return 9898;
+ else
+ if (Shape == Shape::Straight) return 9900;
+ else if (Shape == Shape::InnerLeft) return 9902;
+ else if (Shape == Shape::InnerRight) return 9904;
+ else if (Shape == Shape::OuterLeft) return 9906;
+ else return 9908;
+ }
+ BlockState MossyStoneBrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace MossyStoneBrickWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState MossyStoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11842;
+ else if (West == West::Low) return 11843;
+ else return 11844;
+ else
+ if (West == West::None) return 11848;
+ else if (West == West::Low) return 11849;
+ else return 11850;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11854;
+ else if (West == West::Low) return 11855;
+ else return 11856;
+ else
+ if (West == West::None) return 11860;
+ else if (West == West::Low) return 11861;
+ else return 11862;
+ else
+ if (Up)
+ if (West == West::None) return 11866;
+ else if (West == West::Low) return 11867;
+ else return 11868;
+ else
+ if (West == West::None) return 11872;
+ else if (West == West::Low) return 11873;
+ else return 11874;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11878;
+ else if (West == West::Low) return 11879;
+ else return 11880;
+ else
+ if (West == West::None) return 11884;
+ else if (West == West::Low) return 11885;
+ else return 11886;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11890;
+ else if (West == West::Low) return 11891;
+ else return 11892;
+ else
+ if (West == West::None) return 11896;
+ else if (West == West::Low) return 11897;
+ else return 11898;
+ else
+ if (Up)
+ if (West == West::None) return 11902;
+ else if (West == West::Low) return 11903;
+ else return 11904;
+ else
+ if (West == West::None) return 11908;
+ else if (West == West::Low) return 11909;
+ else return 11910;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11914;
+ else if (West == West::Low) return 11915;
+ else return 11916;
+ else
+ if (West == West::None) return 11920;
+ else if (West == West::Low) return 11921;
+ else return 11922;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11926;
+ else if (West == West::Low) return 11927;
+ else return 11928;
+ else
+ if (West == West::None) return 11932;
+ else if (West == West::Low) return 11933;
+ else return 11934;
+ else
+ if (Up)
+ if (West == West::None) return 11938;
+ else if (West == West::Low) return 11939;
+ else return 11940;
+ else
+ if (West == West::None) return 11944;
+ else if (West == West::Low) return 11945;
+ else return 11946;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11950;
+ else if (West == West::Low) return 11951;
+ else return 11952;
+ else
+ if (West == West::None) return 11956;
+ else if (West == West::Low) return 11957;
+ else return 11958;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11962;
+ else if (West == West::Low) return 11963;
+ else return 11964;
+ else
+ if (West == West::None) return 11968;
+ else if (West == West::Low) return 11969;
+ else return 11970;
+ else
+ if (Up)
+ if (West == West::None) return 11974;
+ else if (West == West::Low) return 11975;
+ else return 11976;
+ else
+ if (West == West::None) return 11980;
+ else if (West == West::Low) return 11981;
+ else return 11982;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11986;
+ else if (West == West::Low) return 11987;
+ else return 11988;
+ else
+ if (West == West::None) return 11992;
+ else if (West == West::Low) return 11993;
+ else return 11994;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11998;
+ else if (West == West::Low) return 11999;
+ else return 12000;
+ else
+ if (West == West::None) return 12004;
+ else if (West == West::Low) return 12005;
+ else return 12006;
+ else
+ if (Up)
+ if (West == West::None) return 12010;
+ else if (West == West::Low) return 12011;
+ else return 12012;
+ else
+ if (West == West::None) return 12016;
+ else if (West == West::Low) return 12017;
+ else return 12018;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12022;
+ else if (West == West::Low) return 12023;
+ else return 12024;
+ else
+ if (West == West::None) return 12028;
+ else if (West == West::Low) return 12029;
+ else return 12030;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12034;
+ else if (West == West::Low) return 12035;
+ else return 12036;
+ else
+ if (West == West::None) return 12040;
+ else if (West == West::Low) return 12041;
+ else return 12042;
+ else
+ if (Up)
+ if (West == West::None) return 12046;
+ else if (West == West::Low) return 12047;
+ else return 12048;
+ else
+ if (West == West::None) return 12052;
+ else if (West == West::Low) return 12053;
+ else return 12054;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12058;
+ else if (West == West::Low) return 12059;
+ else return 12060;
+ else
+ if (West == West::None) return 12064;
+ else if (West == West::Low) return 12065;
+ else return 12066;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12070;
+ else if (West == West::Low) return 12071;
+ else return 12072;
+ else
+ if (West == West::None) return 12076;
+ else if (West == West::Low) return 12077;
+ else return 12078;
+ else
+ if (Up)
+ if (West == West::None) return 12082;
+ else if (West == West::Low) return 12083;
+ else return 12084;
+ else
+ if (West == West::None) return 12088;
+ else if (West == West::Low) return 12089;
+ else return 12090;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12094;
+ else if (West == West::Low) return 12095;
+ else return 12096;
+ else
+ if (West == West::None) return 12100;
+ else if (West == West::Low) return 12101;
+ else return 12102;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12106;
+ else if (West == West::Low) return 12107;
+ else return 12108;
+ else
+ if (West == West::None) return 12112;
+ else if (West == West::Low) return 12113;
+ else return 12114;
+ else
+ if (Up)
+ if (West == West::None) return 12118;
+ else if (West == West::Low) return 12119;
+ else return 12120;
+ else
+ if (West == West::None) return 12124;
+ else if (West == West::Low) return 12125;
+ else return 12126;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12130;
+ else if (West == West::Low) return 12131;
+ else return 12132;
+ else
+ if (West == West::None) return 12136;
+ else if (West == West::Low) return 12137;
+ else return 12138;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12142;
+ else if (West == West::Low) return 12143;
+ else return 12144;
+ else
+ if (West == West::None) return 12148;
+ else if (West == West::Low) return 12149;
+ else return 12150;
+ else
+ if (Up)
+ if (West == West::None) return 12154;
+ else if (West == West::Low) return 12155;
+ else return 12156;
+ else
+ if (West == West::None) return 12160;
+ else if (West == West::Low) return 12161;
+ else return 12162;
+ }
+ BlockState MossyStoneBrickWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace MossyStoneBricks
+ {
+ constexpr BlockState MossyStoneBricks()
+ {
+ return 4496;
+ }
+ }
+ namespace MovingPiston
+ {
+ enum class Type
+ {
+ Normal,
+ Sticky
+ };
+ constexpr BlockState MovingPiston(const eBlockFace Facing, const enum Type Type)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Type == Type::Normal) return 1400;
+ else return 1401;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP)
+ if (Type == Type::Normal) return 1402;
+ else return 1403;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Type == Type::Normal) return 1404;
+ else return 1405;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Type == Type::Normal) return 1406;
+ else return 1407;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP)
+ if (Type == Type::Normal) return 1408;
+ else return 1409;
+ else
+ if (Type == Type::Normal) return 1410;
+ else return 1411;
+ }
+ BlockState MovingPiston();
+ eBlockFace Facing(BlockState Block);
+ enum Type Type(BlockState Block);
+ }
+ namespace MushroomStem
+ {
+ constexpr BlockState MushroomStem(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West)
+ {
+ if (Down)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4633;
+ else return 4634;
+ else
+ if (West) return 4635;
+ else return 4636;
+ else
+ if (Up)
+ if (West) return 4637;
+ else return 4638;
+ else
+ if (West) return 4639;
+ else return 4640;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4641;
+ else return 4642;
+ else
+ if (West) return 4643;
+ else return 4644;
+ else
+ if (Up)
+ if (West) return 4645;
+ else return 4646;
+ else
+ if (West) return 4647;
+ else return 4648;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4649;
+ else return 4650;
+ else
+ if (West) return 4651;
+ else return 4652;
+ else
+ if (Up)
+ if (West) return 4653;
+ else return 4654;
+ else
+ if (West) return 4655;
+ else return 4656;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4657;
+ else return 4658;
+ else
+ if (West) return 4659;
+ else return 4660;
+ else
+ if (Up)
+ if (West) return 4661;
+ else return 4662;
+ else
+ if (West) return 4663;
+ else return 4664;
+ else
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4665;
+ else return 4666;
+ else
+ if (West) return 4667;
+ else return 4668;
+ else
+ if (Up)
+ if (West) return 4669;
+ else return 4670;
+ else
+ if (West) return 4671;
+ else return 4672;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4673;
+ else return 4674;
+ else
+ if (West) return 4675;
+ else return 4676;
+ else
+ if (Up)
+ if (West) return 4677;
+ else return 4678;
+ else
+ if (West) return 4679;
+ else return 4680;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4681;
+ else return 4682;
+ else
+ if (West) return 4683;
+ else return 4684;
+ else
+ if (Up)
+ if (West) return 4685;
+ else return 4686;
+ else
+ if (West) return 4687;
+ else return 4688;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4689;
+ else return 4690;
+ else
+ if (West) return 4691;
+ else return 4692;
+ else
+ if (Up)
+ if (West) return 4693;
+ else return 4694;
+ else
+ if (West) return 4695;
+ else return 4696;
+ }
+ BlockState MushroomStem();
+ bool Down(BlockState Block);
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool Up(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace Mycelium
+ {
+ constexpr BlockState Mycelium(const bool Snowy)
+ {
+ if (Snowy) return 5012;
+ else return 5013;
+ }
+ BlockState Mycelium();
+ bool Snowy(BlockState Block);
+ }
+ namespace NetherBrickFence
+ {
+ constexpr BlockState NetherBrickFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 5018;
+ else return 5019;
+ else
+ if (West) return 5022;
+ else return 5023;
+ else
+ if (South)
+ if (West) return 5026;
+ else return 5027;
+ else
+ if (West) return 5030;
+ else return 5031;
+ else
+ if (North)
+ if (South)
+ if (West) return 5034;
+ else return 5035;
+ else
+ if (West) return 5038;
+ else return 5039;
+ else
+ if (South)
+ if (West) return 5042;
+ else return 5043;
+ else
+ if (West) return 5046;
+ else return 5047;
+ }
+ BlockState NetherBrickFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace NetherBrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState NetherBrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8385;
+ else if (Type == Type::Bottom) return 8387;
+ else return 8389;
+ }
+ BlockState NetherBrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace NetherBrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState NetherBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5049;
+ else if (Shape == Shape::InnerLeft) return 5051;
+ else if (Shape == Shape::InnerRight) return 5053;
+ else if (Shape == Shape::OuterLeft) return 5055;
+ else return 5057;
+ else
+ if (Shape == Shape::Straight) return 5059;
+ else if (Shape == Shape::InnerLeft) return 5061;
+ else if (Shape == Shape::InnerRight) return 5063;
+ else if (Shape == Shape::OuterLeft) return 5065;
+ else return 5067;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5069;
+ else if (Shape == Shape::InnerLeft) return 5071;
+ else if (Shape == Shape::InnerRight) return 5073;
+ else if (Shape == Shape::OuterLeft) return 5075;
+ else return 5077;
+ else
+ if (Shape == Shape::Straight) return 5079;
+ else if (Shape == Shape::InnerLeft) return 5081;
+ else if (Shape == Shape::InnerRight) return 5083;
+ else if (Shape == Shape::OuterLeft) return 5085;
+ else return 5087;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5089;
+ else if (Shape == Shape::InnerLeft) return 5091;
+ else if (Shape == Shape::InnerRight) return 5093;
+ else if (Shape == Shape::OuterLeft) return 5095;
+ else return 5097;
+ else
+ if (Shape == Shape::Straight) return 5099;
+ else if (Shape == Shape::InnerLeft) return 5101;
+ else if (Shape == Shape::InnerRight) return 5103;
+ else if (Shape == Shape::OuterLeft) return 5105;
+ else return 5107;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5109;
+ else if (Shape == Shape::InnerLeft) return 5111;
+ else if (Shape == Shape::InnerRight) return 5113;
+ else if (Shape == Shape::OuterLeft) return 5115;
+ else return 5117;
+ else
+ if (Shape == Shape::Straight) return 5119;
+ else if (Shape == Shape::InnerLeft) return 5121;
+ else if (Shape == Shape::InnerRight) return 5123;
+ else if (Shape == Shape::OuterLeft) return 5125;
+ else return 5127;
+ }
+ BlockState NetherBrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace NetherBrickWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState NetherBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12814;
+ else if (West == West::Low) return 12815;
+ else return 12816;
+ else
+ if (West == West::None) return 12820;
+ else if (West == West::Low) return 12821;
+ else return 12822;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12826;
+ else if (West == West::Low) return 12827;
+ else return 12828;
+ else
+ if (West == West::None) return 12832;
+ else if (West == West::Low) return 12833;
+ else return 12834;
+ else
+ if (Up)
+ if (West == West::None) return 12838;
+ else if (West == West::Low) return 12839;
+ else return 12840;
+ else
+ if (West == West::None) return 12844;
+ else if (West == West::Low) return 12845;
+ else return 12846;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12850;
+ else if (West == West::Low) return 12851;
+ else return 12852;
+ else
+ if (West == West::None) return 12856;
+ else if (West == West::Low) return 12857;
+ else return 12858;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12862;
+ else if (West == West::Low) return 12863;
+ else return 12864;
+ else
+ if (West == West::None) return 12868;
+ else if (West == West::Low) return 12869;
+ else return 12870;
+ else
+ if (Up)
+ if (West == West::None) return 12874;
+ else if (West == West::Low) return 12875;
+ else return 12876;
+ else
+ if (West == West::None) return 12880;
+ else if (West == West::Low) return 12881;
+ else return 12882;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12886;
+ else if (West == West::Low) return 12887;
+ else return 12888;
+ else
+ if (West == West::None) return 12892;
+ else if (West == West::Low) return 12893;
+ else return 12894;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12898;
+ else if (West == West::Low) return 12899;
+ else return 12900;
+ else
+ if (West == West::None) return 12904;
+ else if (West == West::Low) return 12905;
+ else return 12906;
+ else
+ if (Up)
+ if (West == West::None) return 12910;
+ else if (West == West::Low) return 12911;
+ else return 12912;
+ else
+ if (West == West::None) return 12916;
+ else if (West == West::Low) return 12917;
+ else return 12918;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12922;
+ else if (West == West::Low) return 12923;
+ else return 12924;
+ else
+ if (West == West::None) return 12928;
+ else if (West == West::Low) return 12929;
+ else return 12930;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12934;
+ else if (West == West::Low) return 12935;
+ else return 12936;
+ else
+ if (West == West::None) return 12940;
+ else if (West == West::Low) return 12941;
+ else return 12942;
+ else
+ if (Up)
+ if (West == West::None) return 12946;
+ else if (West == West::Low) return 12947;
+ else return 12948;
+ else
+ if (West == West::None) return 12952;
+ else if (West == West::Low) return 12953;
+ else return 12954;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12958;
+ else if (West == West::Low) return 12959;
+ else return 12960;
+ else
+ if (West == West::None) return 12964;
+ else if (West == West::Low) return 12965;
+ else return 12966;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12970;
+ else if (West == West::Low) return 12971;
+ else return 12972;
+ else
+ if (West == West::None) return 12976;
+ else if (West == West::Low) return 12977;
+ else return 12978;
+ else
+ if (Up)
+ if (West == West::None) return 12982;
+ else if (West == West::Low) return 12983;
+ else return 12984;
+ else
+ if (West == West::None) return 12988;
+ else if (West == West::Low) return 12989;
+ else return 12990;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12994;
+ else if (West == West::Low) return 12995;
+ else return 12996;
+ else
+ if (West == West::None) return 13000;
+ else if (West == West::Low) return 13001;
+ else return 13002;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13006;
+ else if (West == West::Low) return 13007;
+ else return 13008;
+ else
+ if (West == West::None) return 13012;
+ else if (West == West::Low) return 13013;
+ else return 13014;
+ else
+ if (Up)
+ if (West == West::None) return 13018;
+ else if (West == West::Low) return 13019;
+ else return 13020;
+ else
+ if (West == West::None) return 13024;
+ else if (West == West::Low) return 13025;
+ else return 13026;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13030;
+ else if (West == West::Low) return 13031;
+ else return 13032;
+ else
+ if (West == West::None) return 13036;
+ else if (West == West::Low) return 13037;
+ else return 13038;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13042;
+ else if (West == West::Low) return 13043;
+ else return 13044;
+ else
+ if (West == West::None) return 13048;
+ else if (West == West::Low) return 13049;
+ else return 13050;
+ else
+ if (Up)
+ if (West == West::None) return 13054;
+ else if (West == West::Low) return 13055;
+ else return 13056;
+ else
+ if (West == West::None) return 13060;
+ else if (West == West::Low) return 13061;
+ else return 13062;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13066;
+ else if (West == West::Low) return 13067;
+ else return 13068;
+ else
+ if (West == West::None) return 13072;
+ else if (West == West::Low) return 13073;
+ else return 13074;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13078;
+ else if (West == West::Low) return 13079;
+ else return 13080;
+ else
+ if (West == West::None) return 13084;
+ else if (West == West::Low) return 13085;
+ else return 13086;
+ else
+ if (Up)
+ if (West == West::None) return 13090;
+ else if (West == West::Low) return 13091;
+ else return 13092;
+ else
+ if (West == West::None) return 13096;
+ else if (West == West::Low) return 13097;
+ else return 13098;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13102;
+ else if (West == West::Low) return 13103;
+ else return 13104;
+ else
+ if (West == West::None) return 13108;
+ else if (West == West::Low) return 13109;
+ else return 13110;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13114;
+ else if (West == West::Low) return 13115;
+ else return 13116;
+ else
+ if (West == West::None) return 13120;
+ else if (West == West::Low) return 13121;
+ else return 13122;
+ else
+ if (Up)
+ if (West == West::None) return 13126;
+ else if (West == West::Low) return 13127;
+ else return 13128;
+ else
+ if (West == West::None) return 13132;
+ else if (West == West::Low) return 13133;
+ else return 13134;
+ }
+ BlockState NetherBrickWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace NetherBricks
+ {
+ constexpr BlockState NetherBricks()
+ {
+ return 5015;
+ }
+ }
+ namespace NetherGoldOre
+ {
+ constexpr BlockState NetherGoldOre()
+ {
+ return 72;
+ }
+ }
+ namespace NetherPortal
+ {
+ enum class Axis
+ {
+ X,
+ Z
+ };
+ constexpr BlockState NetherPortal(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 4014;
+ else return 4015;
+ }
+ BlockState NetherPortal();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace NetherQuartzOre
+ {
+ constexpr BlockState NetherQuartzOre()
+ {
+ return 6727;
+ }
+ }
+ namespace NetherSprouts
+ {
+ constexpr BlockState NetherSprouts()
+ {
+ return 14974;
+ }
+ }
+ namespace NetherWart
+ {
+ constexpr BlockState NetherWart(const unsigned char Age)
+ {
+ if (Age == 0) return 5128;
+ else if (Age == 1) return 5129;
+ else if (Age == 2) return 5130;
+ else return 5131;
+ }
+ BlockState NetherWart();
+ unsigned char Age(BlockState Block);
+ }
+ namespace NetherWartBlock
+ {
+ constexpr BlockState NetherWartBlock()
+ {
+ return 9254;
+ }
+ }
+ namespace NetheriteBlock
+ {
+ constexpr BlockState NetheriteBlock()
+ {
+ return 15826;
+ }
+ }
+ namespace Netherrack
+ {
+ constexpr BlockState Netherrack()
+ {
+ return 3999;
+ }
+ }
+ namespace NoteBlock
+ {
+ enum class Instrument
+ {
+ Harp,
+ Basedrum,
+ Snare,
+ Hat,
+ Bass,
+ Flute,
+ Bell,
+ Guitar,
+ Chime,
+ Xylophone,
+ IronXylophone,
+ CowBell,
+ Didgeridoo,
+ Bit,
+ Banjo,
+ Pling
+ };
+ constexpr BlockState NoteBlock(const enum Instrument Instrument, const unsigned char Note, const bool Powered)
+ {
+ if (Instrument == Instrument::Harp)
+ if (Note == 0)
+ if (Powered) return 249;
+ else return 250;
+ else if (Note == 1)
+ if (Powered) return 251;
+ else return 252;
+ else if (Note == 2)
+ if (Powered) return 253;
+ else return 254;
+ else if (Note == 3)
+ if (Powered) return 255;
+ else return 256;
+ else if (Note == 4)
+ if (Powered) return 257;
+ else return 258;
+ else if (Note == 5)
+ if (Powered) return 259;
+ else return 260;
+ else if (Note == 6)
+ if (Powered) return 261;
+ else return 262;
+ else if (Note == 7)
+ if (Powered) return 263;
+ else return 264;
+ else if (Note == 8)
+ if (Powered) return 265;
+ else return 266;
+ else if (Note == 9)
+ if (Powered) return 267;
+ else return 268;
+ else if (Note == 10)
+ if (Powered) return 269;
+ else return 270;
+ else if (Note == 11)
+ if (Powered) return 271;
+ else return 272;
+ else if (Note == 12)
+ if (Powered) return 273;
+ else return 274;
+ else if (Note == 13)
+ if (Powered) return 275;
+ else return 276;
+ else if (Note == 14)
+ if (Powered) return 277;
+ else return 278;
+ else if (Note == 15)
+ if (Powered) return 279;
+ else return 280;
+ else if (Note == 16)
+ if (Powered) return 281;
+ else return 282;
+ else if (Note == 17)
+ if (Powered) return 283;
+ else return 284;
+ else if (Note == 18)
+ if (Powered) return 285;
+ else return 286;
+ else if (Note == 19)
+ if (Powered) return 287;
+ else return 288;
+ else if (Note == 20)
+ if (Powered) return 289;
+ else return 290;
+ else if (Note == 21)
+ if (Powered) return 291;
+ else return 292;
+ else if (Note == 22)
+ if (Powered) return 293;
+ else return 294;
+ else if (Note == 23)
+ if (Powered) return 295;
+ else return 296;
+ else
+ if (Powered) return 297;
+ else return 298;
+ else if (Instrument == Instrument::Basedrum)
+ if (Note == 0)
+ if (Powered) return 299;
+ else return 300;
+ else if (Note == 1)
+ if (Powered) return 301;
+ else return 302;
+ else if (Note == 2)
+ if (Powered) return 303;
+ else return 304;
+ else if (Note == 3)
+ if (Powered) return 305;
+ else return 306;
+ else if (Note == 4)
+ if (Powered) return 307;
+ else return 308;
+ else if (Note == 5)
+ if (Powered) return 309;
+ else return 310;
+ else if (Note == 6)
+ if (Powered) return 311;
+ else return 312;
+ else if (Note == 7)
+ if (Powered) return 313;
+ else return 314;
+ else if (Note == 8)
+ if (Powered) return 315;
+ else return 316;
+ else if (Note == 9)
+ if (Powered) return 317;
+ else return 318;
+ else if (Note == 10)
+ if (Powered) return 319;
+ else return 320;
+ else if (Note == 11)
+ if (Powered) return 321;
+ else return 322;
+ else if (Note == 12)
+ if (Powered) return 323;
+ else return 324;
+ else if (Note == 13)
+ if (Powered) return 325;
+ else return 326;
+ else if (Note == 14)
+ if (Powered) return 327;
+ else return 328;
+ else if (Note == 15)
+ if (Powered) return 329;
+ else return 330;
+ else if (Note == 16)
+ if (Powered) return 331;
+ else return 332;
+ else if (Note == 17)
+ if (Powered) return 333;
+ else return 334;
+ else if (Note == 18)
+ if (Powered) return 335;
+ else return 336;
+ else if (Note == 19)
+ if (Powered) return 337;
+ else return 338;
+ else if (Note == 20)
+ if (Powered) return 339;
+ else return 340;
+ else if (Note == 21)
+ if (Powered) return 341;
+ else return 342;
+ else if (Note == 22)
+ if (Powered) return 343;
+ else return 344;
+ else if (Note == 23)
+ if (Powered) return 345;
+ else return 346;
+ else
+ if (Powered) return 347;
+ else return 348;
+ else if (Instrument == Instrument::Snare)
+ if (Note == 0)
+ if (Powered) return 349;
+ else return 350;
+ else if (Note == 1)
+ if (Powered) return 351;
+ else return 352;
+ else if (Note == 2)
+ if (Powered) return 353;
+ else return 354;
+ else if (Note == 3)
+ if (Powered) return 355;
+ else return 356;
+ else if (Note == 4)
+ if (Powered) return 357;
+ else return 358;
+ else if (Note == 5)
+ if (Powered) return 359;
+ else return 360;
+ else if (Note == 6)
+ if (Powered) return 361;
+ else return 362;
+ else if (Note == 7)
+ if (Powered) return 363;
+ else return 364;
+ else if (Note == 8)
+ if (Powered) return 365;
+ else return 366;
+ else if (Note == 9)
+ if (Powered) return 367;
+ else return 368;
+ else if (Note == 10)
+ if (Powered) return 369;
+ else return 370;
+ else if (Note == 11)
+ if (Powered) return 371;
+ else return 372;
+ else if (Note == 12)
+ if (Powered) return 373;
+ else return 374;
+ else if (Note == 13)
+ if (Powered) return 375;
+ else return 376;
+ else if (Note == 14)
+ if (Powered) return 377;
+ else return 378;
+ else if (Note == 15)
+ if (Powered) return 379;
+ else return 380;
+ else if (Note == 16)
+ if (Powered) return 381;
+ else return 382;
+ else if (Note == 17)
+ if (Powered) return 383;
+ else return 384;
+ else if (Note == 18)
+ if (Powered) return 385;
+ else return 386;
+ else if (Note == 19)
+ if (Powered) return 387;
+ else return 388;
+ else if (Note == 20)
+ if (Powered) return 389;
+ else return 390;
+ else if (Note == 21)
+ if (Powered) return 391;
+ else return 392;
+ else if (Note == 22)
+ if (Powered) return 393;
+ else return 394;
+ else if (Note == 23)
+ if (Powered) return 395;
+ else return 396;
+ else
+ if (Powered) return 397;
+ else return 398;
+ else if (Instrument == Instrument::Hat)
+ if (Note == 0)
+ if (Powered) return 399;
+ else return 400;
+ else if (Note == 1)
+ if (Powered) return 401;
+ else return 402;
+ else if (Note == 2)
+ if (Powered) return 403;
+ else return 404;
+ else if (Note == 3)
+ if (Powered) return 405;
+ else return 406;
+ else if (Note == 4)
+ if (Powered) return 407;
+ else return 408;
+ else if (Note == 5)
+ if (Powered) return 409;
+ else return 410;
+ else if (Note == 6)
+ if (Powered) return 411;
+ else return 412;
+ else if (Note == 7)
+ if (Powered) return 413;
+ else return 414;
+ else if (Note == 8)
+ if (Powered) return 415;
+ else return 416;
+ else if (Note == 9)
+ if (Powered) return 417;
+ else return 418;
+ else if (Note == 10)
+ if (Powered) return 419;
+ else return 420;
+ else if (Note == 11)
+ if (Powered) return 421;
+ else return 422;
+ else if (Note == 12)
+ if (Powered) return 423;
+ else return 424;
+ else if (Note == 13)
+ if (Powered) return 425;
+ else return 426;
+ else if (Note == 14)
+ if (Powered) return 427;
+ else return 428;
+ else if (Note == 15)
+ if (Powered) return 429;
+ else return 430;
+ else if (Note == 16)
+ if (Powered) return 431;
+ else return 432;
+ else if (Note == 17)
+ if (Powered) return 433;
+ else return 434;
+ else if (Note == 18)
+ if (Powered) return 435;
+ else return 436;
+ else if (Note == 19)
+ if (Powered) return 437;
+ else return 438;
+ else if (Note == 20)
+ if (Powered) return 439;
+ else return 440;
+ else if (Note == 21)
+ if (Powered) return 441;
+ else return 442;
+ else if (Note == 22)
+ if (Powered) return 443;
+ else return 444;
+ else if (Note == 23)
+ if (Powered) return 445;
+ else return 446;
+ else
+ if (Powered) return 447;
+ else return 448;
+ else if (Instrument == Instrument::Bass)
+ if (Note == 0)
+ if (Powered) return 449;
+ else return 450;
+ else if (Note == 1)
+ if (Powered) return 451;
+ else return 452;
+ else if (Note == 2)
+ if (Powered) return 453;
+ else return 454;
+ else if (Note == 3)
+ if (Powered) return 455;
+ else return 456;
+ else if (Note == 4)
+ if (Powered) return 457;
+ else return 458;
+ else if (Note == 5)
+ if (Powered) return 459;
+ else return 460;
+ else if (Note == 6)
+ if (Powered) return 461;
+ else return 462;
+ else if (Note == 7)
+ if (Powered) return 463;
+ else return 464;
+ else if (Note == 8)
+ if (Powered) return 465;
+ else return 466;
+ else if (Note == 9)
+ if (Powered) return 467;
+ else return 468;
+ else if (Note == 10)
+ if (Powered) return 469;
+ else return 470;
+ else if (Note == 11)
+ if (Powered) return 471;
+ else return 472;
+ else if (Note == 12)
+ if (Powered) return 473;
+ else return 474;
+ else if (Note == 13)
+ if (Powered) return 475;
+ else return 476;
+ else if (Note == 14)
+ if (Powered) return 477;
+ else return 478;
+ else if (Note == 15)
+ if (Powered) return 479;
+ else return 480;
+ else if (Note == 16)
+ if (Powered) return 481;
+ else return 482;
+ else if (Note == 17)
+ if (Powered) return 483;
+ else return 484;
+ else if (Note == 18)
+ if (Powered) return 485;
+ else return 486;
+ else if (Note == 19)
+ if (Powered) return 487;
+ else return 488;
+ else if (Note == 20)
+ if (Powered) return 489;
+ else return 490;
+ else if (Note == 21)
+ if (Powered) return 491;
+ else return 492;
+ else if (Note == 22)
+ if (Powered) return 493;
+ else return 494;
+ else if (Note == 23)
+ if (Powered) return 495;
+ else return 496;
+ else
+ if (Powered) return 497;
+ else return 498;
+ else if (Instrument == Instrument::Flute)
+ if (Note == 0)
+ if (Powered) return 499;
+ else return 500;
+ else if (Note == 1)
+ if (Powered) return 501;
+ else return 502;
+ else if (Note == 2)
+ if (Powered) return 503;
+ else return 504;
+ else if (Note == 3)
+ if (Powered) return 505;
+ else return 506;
+ else if (Note == 4)
+ if (Powered) return 507;
+ else return 508;
+ else if (Note == 5)
+ if (Powered) return 509;
+ else return 510;
+ else if (Note == 6)
+ if (Powered) return 511;
+ else return 512;
+ else if (Note == 7)
+ if (Powered) return 513;
+ else return 514;
+ else if (Note == 8)
+ if (Powered) return 515;
+ else return 516;
+ else if (Note == 9)
+ if (Powered) return 517;
+ else return 518;
+ else if (Note == 10)
+ if (Powered) return 519;
+ else return 520;
+ else if (Note == 11)
+ if (Powered) return 521;
+ else return 522;
+ else if (Note == 12)
+ if (Powered) return 523;
+ else return 524;
+ else if (Note == 13)
+ if (Powered) return 525;
+ else return 526;
+ else if (Note == 14)
+ if (Powered) return 527;
+ else return 528;
+ else if (Note == 15)
+ if (Powered) return 529;
+ else return 530;
+ else if (Note == 16)
+ if (Powered) return 531;
+ else return 532;
+ else if (Note == 17)
+ if (Powered) return 533;
+ else return 534;
+ else if (Note == 18)
+ if (Powered) return 535;
+ else return 536;
+ else if (Note == 19)
+ if (Powered) return 537;
+ else return 538;
+ else if (Note == 20)
+ if (Powered) return 539;
+ else return 540;
+ else if (Note == 21)
+ if (Powered) return 541;
+ else return 542;
+ else if (Note == 22)
+ if (Powered) return 543;
+ else return 544;
+ else if (Note == 23)
+ if (Powered) return 545;
+ else return 546;
+ else
+ if (Powered) return 547;
+ else return 548;
+ else if (Instrument == Instrument::Bell)
+ if (Note == 0)
+ if (Powered) return 549;
+ else return 550;
+ else if (Note == 1)
+ if (Powered) return 551;
+ else return 552;
+ else if (Note == 2)
+ if (Powered) return 553;
+ else return 554;
+ else if (Note == 3)
+ if (Powered) return 555;
+ else return 556;
+ else if (Note == 4)
+ if (Powered) return 557;
+ else return 558;
+ else if (Note == 5)
+ if (Powered) return 559;
+ else return 560;
+ else if (Note == 6)
+ if (Powered) return 561;
+ else return 562;
+ else if (Note == 7)
+ if (Powered) return 563;
+ else return 564;
+ else if (Note == 8)
+ if (Powered) return 565;
+ else return 566;
+ else if (Note == 9)
+ if (Powered) return 567;
+ else return 568;
+ else if (Note == 10)
+ if (Powered) return 569;
+ else return 570;
+ else if (Note == 11)
+ if (Powered) return 571;
+ else return 572;
+ else if (Note == 12)
+ if (Powered) return 573;
+ else return 574;
+ else if (Note == 13)
+ if (Powered) return 575;
+ else return 576;
+ else if (Note == 14)
+ if (Powered) return 577;
+ else return 578;
+ else if (Note == 15)
+ if (Powered) return 579;
+ else return 580;
+ else if (Note == 16)
+ if (Powered) return 581;
+ else return 582;
+ else if (Note == 17)
+ if (Powered) return 583;
+ else return 584;
+ else if (Note == 18)
+ if (Powered) return 585;
+ else return 586;
+ else if (Note == 19)
+ if (Powered) return 587;
+ else return 588;
+ else if (Note == 20)
+ if (Powered) return 589;
+ else return 590;
+ else if (Note == 21)
+ if (Powered) return 591;
+ else return 592;
+ else if (Note == 22)
+ if (Powered) return 593;
+ else return 594;
+ else if (Note == 23)
+ if (Powered) return 595;
+ else return 596;
+ else
+ if (Powered) return 597;
+ else return 598;
+ else if (Instrument == Instrument::Guitar)
+ if (Note == 0)
+ if (Powered) return 599;
+ else return 600;
+ else if (Note == 1)
+ if (Powered) return 601;
+ else return 602;
+ else if (Note == 2)
+ if (Powered) return 603;
+ else return 604;
+ else if (Note == 3)
+ if (Powered) return 605;
+ else return 606;
+ else if (Note == 4)
+ if (Powered) return 607;
+ else return 608;
+ else if (Note == 5)
+ if (Powered) return 609;
+ else return 610;
+ else if (Note == 6)
+ if (Powered) return 611;
+ else return 612;
+ else if (Note == 7)
+ if (Powered) return 613;
+ else return 614;
+ else if (Note == 8)
+ if (Powered) return 615;
+ else return 616;
+ else if (Note == 9)
+ if (Powered) return 617;
+ else return 618;
+ else if (Note == 10)
+ if (Powered) return 619;
+ else return 620;
+ else if (Note == 11)
+ if (Powered) return 621;
+ else return 622;
+ else if (Note == 12)
+ if (Powered) return 623;
+ else return 624;
+ else if (Note == 13)
+ if (Powered) return 625;
+ else return 626;
+ else if (Note == 14)
+ if (Powered) return 627;
+ else return 628;
+ else if (Note == 15)
+ if (Powered) return 629;
+ else return 630;
+ else if (Note == 16)
+ if (Powered) return 631;
+ else return 632;
+ else if (Note == 17)
+ if (Powered) return 633;
+ else return 634;
+ else if (Note == 18)
+ if (Powered) return 635;
+ else return 636;
+ else if (Note == 19)
+ if (Powered) return 637;
+ else return 638;
+ else if (Note == 20)
+ if (Powered) return 639;
+ else return 640;
+ else if (Note == 21)
+ if (Powered) return 641;
+ else return 642;
+ else if (Note == 22)
+ if (Powered) return 643;
+ else return 644;
+ else if (Note == 23)
+ if (Powered) return 645;
+ else return 646;
+ else
+ if (Powered) return 647;
+ else return 648;
+ else if (Instrument == Instrument::Chime)
+ if (Note == 0)
+ if (Powered) return 649;
+ else return 650;
+ else if (Note == 1)
+ if (Powered) return 651;
+ else return 652;
+ else if (Note == 2)
+ if (Powered) return 653;
+ else return 654;
+ else if (Note == 3)
+ if (Powered) return 655;
+ else return 656;
+ else if (Note == 4)
+ if (Powered) return 657;
+ else return 658;
+ else if (Note == 5)
+ if (Powered) return 659;
+ else return 660;
+ else if (Note == 6)
+ if (Powered) return 661;
+ else return 662;
+ else if (Note == 7)
+ if (Powered) return 663;
+ else return 664;
+ else if (Note == 8)
+ if (Powered) return 665;
+ else return 666;
+ else if (Note == 9)
+ if (Powered) return 667;
+ else return 668;
+ else if (Note == 10)
+ if (Powered) return 669;
+ else return 670;
+ else if (Note == 11)
+ if (Powered) return 671;
+ else return 672;
+ else if (Note == 12)
+ if (Powered) return 673;
+ else return 674;
+ else if (Note == 13)
+ if (Powered) return 675;
+ else return 676;
+ else if (Note == 14)
+ if (Powered) return 677;
+ else return 678;
+ else if (Note == 15)
+ if (Powered) return 679;
+ else return 680;
+ else if (Note == 16)
+ if (Powered) return 681;
+ else return 682;
+ else if (Note == 17)
+ if (Powered) return 683;
+ else return 684;
+ else if (Note == 18)
+ if (Powered) return 685;
+ else return 686;
+ else if (Note == 19)
+ if (Powered) return 687;
+ else return 688;
+ else if (Note == 20)
+ if (Powered) return 689;
+ else return 690;
+ else if (Note == 21)
+ if (Powered) return 691;
+ else return 692;
+ else if (Note == 22)
+ if (Powered) return 693;
+ else return 694;
+ else if (Note == 23)
+ if (Powered) return 695;
+ else return 696;
+ else
+ if (Powered) return 697;
+ else return 698;
+ else if (Instrument == Instrument::Xylophone)
+ if (Note == 0)
+ if (Powered) return 699;
+ else return 700;
+ else if (Note == 1)
+ if (Powered) return 701;
+ else return 702;
+ else if (Note == 2)
+ if (Powered) return 703;
+ else return 704;
+ else if (Note == 3)
+ if (Powered) return 705;
+ else return 706;
+ else if (Note == 4)
+ if (Powered) return 707;
+ else return 708;
+ else if (Note == 5)
+ if (Powered) return 709;
+ else return 710;
+ else if (Note == 6)
+ if (Powered) return 711;
+ else return 712;
+ else if (Note == 7)
+ if (Powered) return 713;
+ else return 714;
+ else if (Note == 8)
+ if (Powered) return 715;
+ else return 716;
+ else if (Note == 9)
+ if (Powered) return 717;
+ else return 718;
+ else if (Note == 10)
+ if (Powered) return 719;
+ else return 720;
+ else if (Note == 11)
+ if (Powered) return 721;
+ else return 722;
+ else if (Note == 12)
+ if (Powered) return 723;
+ else return 724;
+ else if (Note == 13)
+ if (Powered) return 725;
+ else return 726;
+ else if (Note == 14)
+ if (Powered) return 727;
+ else return 728;
+ else if (Note == 15)
+ if (Powered) return 729;
+ else return 730;
+ else if (Note == 16)
+ if (Powered) return 731;
+ else return 732;
+ else if (Note == 17)
+ if (Powered) return 733;
+ else return 734;
+ else if (Note == 18)
+ if (Powered) return 735;
+ else return 736;
+ else if (Note == 19)
+ if (Powered) return 737;
+ else return 738;
+ else if (Note == 20)
+ if (Powered) return 739;
+ else return 740;
+ else if (Note == 21)
+ if (Powered) return 741;
+ else return 742;
+ else if (Note == 22)
+ if (Powered) return 743;
+ else return 744;
+ else if (Note == 23)
+ if (Powered) return 745;
+ else return 746;
+ else
+ if (Powered) return 747;
+ else return 748;
+ else if (Instrument == Instrument::IronXylophone)
+ if (Note == 0)
+ if (Powered) return 749;
+ else return 750;
+ else if (Note == 1)
+ if (Powered) return 751;
+ else return 752;
+ else if (Note == 2)
+ if (Powered) return 753;
+ else return 754;
+ else if (Note == 3)
+ if (Powered) return 755;
+ else return 756;
+ else if (Note == 4)
+ if (Powered) return 757;
+ else return 758;
+ else if (Note == 5)
+ if (Powered) return 759;
+ else return 760;
+ else if (Note == 6)
+ if (Powered) return 761;
+ else return 762;
+ else if (Note == 7)
+ if (Powered) return 763;
+ else return 764;
+ else if (Note == 8)
+ if (Powered) return 765;
+ else return 766;
+ else if (Note == 9)
+ if (Powered) return 767;
+ else return 768;
+ else if (Note == 10)
+ if (Powered) return 769;
+ else return 770;
+ else if (Note == 11)
+ if (Powered) return 771;
+ else return 772;
+ else if (Note == 12)
+ if (Powered) return 773;
+ else return 774;
+ else if (Note == 13)
+ if (Powered) return 775;
+ else return 776;
+ else if (Note == 14)
+ if (Powered) return 777;
+ else return 778;
+ else if (Note == 15)
+ if (Powered) return 779;
+ else return 780;
+ else if (Note == 16)
+ if (Powered) return 781;
+ else return 782;
+ else if (Note == 17)
+ if (Powered) return 783;
+ else return 784;
+ else if (Note == 18)
+ if (Powered) return 785;
+ else return 786;
+ else if (Note == 19)
+ if (Powered) return 787;
+ else return 788;
+ else if (Note == 20)
+ if (Powered) return 789;
+ else return 790;
+ else if (Note == 21)
+ if (Powered) return 791;
+ else return 792;
+ else if (Note == 22)
+ if (Powered) return 793;
+ else return 794;
+ else if (Note == 23)
+ if (Powered) return 795;
+ else return 796;
+ else
+ if (Powered) return 797;
+ else return 798;
+ else if (Instrument == Instrument::CowBell)
+ if (Note == 0)
+ if (Powered) return 799;
+ else return 800;
+ else if (Note == 1)
+ if (Powered) return 801;
+ else return 802;
+ else if (Note == 2)
+ if (Powered) return 803;
+ else return 804;
+ else if (Note == 3)
+ if (Powered) return 805;
+ else return 806;
+ else if (Note == 4)
+ if (Powered) return 807;
+ else return 808;
+ else if (Note == 5)
+ if (Powered) return 809;
+ else return 810;
+ else if (Note == 6)
+ if (Powered) return 811;
+ else return 812;
+ else if (Note == 7)
+ if (Powered) return 813;
+ else return 814;
+ else if (Note == 8)
+ if (Powered) return 815;
+ else return 816;
+ else if (Note == 9)
+ if (Powered) return 817;
+ else return 818;
+ else if (Note == 10)
+ if (Powered) return 819;
+ else return 820;
+ else if (Note == 11)
+ if (Powered) return 821;
+ else return 822;
+ else if (Note == 12)
+ if (Powered) return 823;
+ else return 824;
+ else if (Note == 13)
+ if (Powered) return 825;
+ else return 826;
+ else if (Note == 14)
+ if (Powered) return 827;
+ else return 828;
+ else if (Note == 15)
+ if (Powered) return 829;
+ else return 830;
+ else if (Note == 16)
+ if (Powered) return 831;
+ else return 832;
+ else if (Note == 17)
+ if (Powered) return 833;
+ else return 834;
+ else if (Note == 18)
+ if (Powered) return 835;
+ else return 836;
+ else if (Note == 19)
+ if (Powered) return 837;
+ else return 838;
+ else if (Note == 20)
+ if (Powered) return 839;
+ else return 840;
+ else if (Note == 21)
+ if (Powered) return 841;
+ else return 842;
+ else if (Note == 22)
+ if (Powered) return 843;
+ else return 844;
+ else if (Note == 23)
+ if (Powered) return 845;
+ else return 846;
+ else
+ if (Powered) return 847;
+ else return 848;
+ else if (Instrument == Instrument::Didgeridoo)
+ if (Note == 0)
+ if (Powered) return 849;
+ else return 850;
+ else if (Note == 1)
+ if (Powered) return 851;
+ else return 852;
+ else if (Note == 2)
+ if (Powered) return 853;
+ else return 854;
+ else if (Note == 3)
+ if (Powered) return 855;
+ else return 856;
+ else if (Note == 4)
+ if (Powered) return 857;
+ else return 858;
+ else if (Note == 5)
+ if (Powered) return 859;
+ else return 860;
+ else if (Note == 6)
+ if (Powered) return 861;
+ else return 862;
+ else if (Note == 7)
+ if (Powered) return 863;
+ else return 864;
+ else if (Note == 8)
+ if (Powered) return 865;
+ else return 866;
+ else if (Note == 9)
+ if (Powered) return 867;
+ else return 868;
+ else if (Note == 10)
+ if (Powered) return 869;
+ else return 870;
+ else if (Note == 11)
+ if (Powered) return 871;
+ else return 872;
+ else if (Note == 12)
+ if (Powered) return 873;
+ else return 874;
+ else if (Note == 13)
+ if (Powered) return 875;
+ else return 876;
+ else if (Note == 14)
+ if (Powered) return 877;
+ else return 878;
+ else if (Note == 15)
+ if (Powered) return 879;
+ else return 880;
+ else if (Note == 16)
+ if (Powered) return 881;
+ else return 882;
+ else if (Note == 17)
+ if (Powered) return 883;
+ else return 884;
+ else if (Note == 18)
+ if (Powered) return 885;
+ else return 886;
+ else if (Note == 19)
+ if (Powered) return 887;
+ else return 888;
+ else if (Note == 20)
+ if (Powered) return 889;
+ else return 890;
+ else if (Note == 21)
+ if (Powered) return 891;
+ else return 892;
+ else if (Note == 22)
+ if (Powered) return 893;
+ else return 894;
+ else if (Note == 23)
+ if (Powered) return 895;
+ else return 896;
+ else
+ if (Powered) return 897;
+ else return 898;
+ else if (Instrument == Instrument::Bit)
+ if (Note == 0)
+ if (Powered) return 899;
+ else return 900;
+ else if (Note == 1)
+ if (Powered) return 901;
+ else return 902;
+ else if (Note == 2)
+ if (Powered) return 903;
+ else return 904;
+ else if (Note == 3)
+ if (Powered) return 905;
+ else return 906;
+ else if (Note == 4)
+ if (Powered) return 907;
+ else return 908;
+ else if (Note == 5)
+ if (Powered) return 909;
+ else return 910;
+ else if (Note == 6)
+ if (Powered) return 911;
+ else return 912;
+ else if (Note == 7)
+ if (Powered) return 913;
+ else return 914;
+ else if (Note == 8)
+ if (Powered) return 915;
+ else return 916;
+ else if (Note == 9)
+ if (Powered) return 917;
+ else return 918;
+ else if (Note == 10)
+ if (Powered) return 919;
+ else return 920;
+ else if (Note == 11)
+ if (Powered) return 921;
+ else return 922;
+ else if (Note == 12)
+ if (Powered) return 923;
+ else return 924;
+ else if (Note == 13)
+ if (Powered) return 925;
+ else return 926;
+ else if (Note == 14)
+ if (Powered) return 927;
+ else return 928;
+ else if (Note == 15)
+ if (Powered) return 929;
+ else return 930;
+ else if (Note == 16)
+ if (Powered) return 931;
+ else return 932;
+ else if (Note == 17)
+ if (Powered) return 933;
+ else return 934;
+ else if (Note == 18)
+ if (Powered) return 935;
+ else return 936;
+ else if (Note == 19)
+ if (Powered) return 937;
+ else return 938;
+ else if (Note == 20)
+ if (Powered) return 939;
+ else return 940;
+ else if (Note == 21)
+ if (Powered) return 941;
+ else return 942;
+ else if (Note == 22)
+ if (Powered) return 943;
+ else return 944;
+ else if (Note == 23)
+ if (Powered) return 945;
+ else return 946;
+ else
+ if (Powered) return 947;
+ else return 948;
+ else if (Instrument == Instrument::Banjo)
+ if (Note == 0)
+ if (Powered) return 949;
+ else return 950;
+ else if (Note == 1)
+ if (Powered) return 951;
+ else return 952;
+ else if (Note == 2)
+ if (Powered) return 953;
+ else return 954;
+ else if (Note == 3)
+ if (Powered) return 955;
+ else return 956;
+ else if (Note == 4)
+ if (Powered) return 957;
+ else return 958;
+ else if (Note == 5)
+ if (Powered) return 959;
+ else return 960;
+ else if (Note == 6)
+ if (Powered) return 961;
+ else return 962;
+ else if (Note == 7)
+ if (Powered) return 963;
+ else return 964;
+ else if (Note == 8)
+ if (Powered) return 965;
+ else return 966;
+ else if (Note == 9)
+ if (Powered) return 967;
+ else return 968;
+ else if (Note == 10)
+ if (Powered) return 969;
+ else return 970;
+ else if (Note == 11)
+ if (Powered) return 971;
+ else return 972;
+ else if (Note == 12)
+ if (Powered) return 973;
+ else return 974;
+ else if (Note == 13)
+ if (Powered) return 975;
+ else return 976;
+ else if (Note == 14)
+ if (Powered) return 977;
+ else return 978;
+ else if (Note == 15)
+ if (Powered) return 979;
+ else return 980;
+ else if (Note == 16)
+ if (Powered) return 981;
+ else return 982;
+ else if (Note == 17)
+ if (Powered) return 983;
+ else return 984;
+ else if (Note == 18)
+ if (Powered) return 985;
+ else return 986;
+ else if (Note == 19)
+ if (Powered) return 987;
+ else return 988;
+ else if (Note == 20)
+ if (Powered) return 989;
+ else return 990;
+ else if (Note == 21)
+ if (Powered) return 991;
+ else return 992;
+ else if (Note == 22)
+ if (Powered) return 993;
+ else return 994;
+ else if (Note == 23)
+ if (Powered) return 995;
+ else return 996;
+ else
+ if (Powered) return 997;
+ else return 998;
+ else
+ if (Note == 0)
+ if (Powered) return 999;
+ else return 1000;
+ else if (Note == 1)
+ if (Powered) return 1001;
+ else return 1002;
+ else if (Note == 2)
+ if (Powered) return 1003;
+ else return 1004;
+ else if (Note == 3)
+ if (Powered) return 1005;
+ else return 1006;
+ else if (Note == 4)
+ if (Powered) return 1007;
+ else return 1008;
+ else if (Note == 5)
+ if (Powered) return 1009;
+ else return 1010;
+ else if (Note == 6)
+ if (Powered) return 1011;
+ else return 1012;
+ else if (Note == 7)
+ if (Powered) return 1013;
+ else return 1014;
+ else if (Note == 8)
+ if (Powered) return 1015;
+ else return 1016;
+ else if (Note == 9)
+ if (Powered) return 1017;
+ else return 1018;
+ else if (Note == 10)
+ if (Powered) return 1019;
+ else return 1020;
+ else if (Note == 11)
+ if (Powered) return 1021;
+ else return 1022;
+ else if (Note == 12)
+ if (Powered) return 1023;
+ else return 1024;
+ else if (Note == 13)
+ if (Powered) return 1025;
+ else return 1026;
+ else if (Note == 14)
+ if (Powered) return 1027;
+ else return 1028;
+ else if (Note == 15)
+ if (Powered) return 1029;
+ else return 1030;
+ else if (Note == 16)
+ if (Powered) return 1031;
+ else return 1032;
+ else if (Note == 17)
+ if (Powered) return 1033;
+ else return 1034;
+ else if (Note == 18)
+ if (Powered) return 1035;
+ else return 1036;
+ else if (Note == 19)
+ if (Powered) return 1037;
+ else return 1038;
+ else if (Note == 20)
+ if (Powered) return 1039;
+ else return 1040;
+ else if (Note == 21)
+ if (Powered) return 1041;
+ else return 1042;
+ else if (Note == 22)
+ if (Powered) return 1043;
+ else return 1044;
+ else if (Note == 23)
+ if (Powered) return 1045;
+ else return 1046;
+ else
+ if (Powered) return 1047;
+ else return 1048;
+ }
+ BlockState NoteBlock();
+ enum Instrument Instrument(BlockState Block);
+ unsigned char Note(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace OakButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState OakButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6346;
+ else return 6347;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6348;
+ else return 6349;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6350;
+ else return 6351;
+ else
+ if (Powered) return 6352;
+ else return 6353;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6354;
+ else return 6355;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6356;
+ else return 6357;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6358;
+ else return 6359;
+ else
+ if (Powered) return 6360;
+ else return 6361;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6362;
+ else return 6363;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6364;
+ else return 6365;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6366;
+ else return 6367;
+ else
+ if (Powered) return 6368;
+ else return 6369;
+ }
+ BlockState OakButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace OakDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState OakDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3573;
+ else return 3574;
+ else
+ if (Powered) return 3575;
+ else return 3576;
+ else
+ if (Open)
+ if (Powered) return 3577;
+ else return 3578;
+ else
+ if (Powered) return 3579;
+ else return 3580;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3581;
+ else return 3582;
+ else
+ if (Powered) return 3583;
+ else return 3584;
+ else
+ if (Open)
+ if (Powered) return 3585;
+ else return 3586;
+ else
+ if (Powered) return 3587;
+ else return 3588;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3589;
+ else return 3590;
+ else
+ if (Powered) return 3591;
+ else return 3592;
+ else
+ if (Open)
+ if (Powered) return 3593;
+ else return 3594;
+ else
+ if (Powered) return 3595;
+ else return 3596;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3597;
+ else return 3598;
+ else
+ if (Powered) return 3599;
+ else return 3600;
+ else
+ if (Open)
+ if (Powered) return 3601;
+ else return 3602;
+ else
+ if (Powered) return 3603;
+ else return 3604;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3605;
+ else return 3606;
+ else
+ if (Powered) return 3607;
+ else return 3608;
+ else
+ if (Open)
+ if (Powered) return 3609;
+ else return 3610;
+ else
+ if (Powered) return 3611;
+ else return 3612;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3613;
+ else return 3614;
+ else
+ if (Powered) return 3615;
+ else return 3616;
+ else
+ if (Open)
+ if (Powered) return 3617;
+ else return 3618;
+ else
+ if (Powered) return 3619;
+ else return 3620;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3621;
+ else return 3622;
+ else
+ if (Powered) return 3623;
+ else return 3624;
+ else
+ if (Open)
+ if (Powered) return 3625;
+ else return 3626;
+ else
+ if (Powered) return 3627;
+ else return 3628;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 3629;
+ else return 3630;
+ else
+ if (Powered) return 3631;
+ else return 3632;
+ else
+ if (Open)
+ if (Powered) return 3633;
+ else return 3634;
+ else
+ if (Powered) return 3635;
+ else return 3636;
+ }
+ BlockState OakDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace OakFence
+ {
+ constexpr BlockState OakFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 3968;
+ else return 3969;
+ else
+ if (West) return 3972;
+ else return 3973;
+ else
+ if (South)
+ if (West) return 3976;
+ else return 3977;
+ else
+ if (West) return 3980;
+ else return 3981;
+ else
+ if (North)
+ if (South)
+ if (West) return 3984;
+ else return 3985;
+ else
+ if (West) return 3988;
+ else return 3989;
+ else
+ if (South)
+ if (West) return 3992;
+ else return 3993;
+ else
+ if (West) return 3996;
+ else return 3997;
+ }
+ BlockState OakFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace OakFenceGate
+ {
+ constexpr BlockState OakFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 4820;
+ else return 4821;
+ else
+ if (Powered) return 4822;
+ else return 4823;
+ else
+ if (Open)
+ if (Powered) return 4824;
+ else return 4825;
+ else
+ if (Powered) return 4826;
+ else return 4827;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 4828;
+ else return 4829;
+ else
+ if (Powered) return 4830;
+ else return 4831;
+ else
+ if (Open)
+ if (Powered) return 4832;
+ else return 4833;
+ else
+ if (Powered) return 4834;
+ else return 4835;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 4836;
+ else return 4837;
+ else
+ if (Powered) return 4838;
+ else return 4839;
+ else
+ if (Open)
+ if (Powered) return 4840;
+ else return 4841;
+ else
+ if (Powered) return 4842;
+ else return 4843;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 4844;
+ else return 4845;
+ else
+ if (Powered) return 4846;
+ else return 4847;
+ else
+ if (Open)
+ if (Powered) return 4848;
+ else return 4849;
+ else
+ if (Powered) return 4850;
+ else return 4851;
+ }
+ BlockState OakFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace OakLeaves
+ {
+ constexpr BlockState OakLeaves(const unsigned char Distance, const bool Persistent)
+ {
+ if (Distance == 1)
+ if (Persistent) return 145;
+ else return 146;
+ else if (Distance == 2)
+ if (Persistent) return 147;
+ else return 148;
+ else if (Distance == 3)
+ if (Persistent) return 149;
+ else return 150;
+ else if (Distance == 4)
+ if (Persistent) return 151;
+ else return 152;
+ else if (Distance == 5)
+ if (Persistent) return 153;
+ else return 154;
+ else if (Distance == 6)
+ if (Persistent) return 155;
+ else return 156;
+ else
+ if (Persistent) return 157;
+ else return 158;
+ }
+ BlockState OakLeaves();
+ unsigned char Distance(BlockState Block);
+ bool Persistent(BlockState Block);
+ }
+ namespace OakLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState OakLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 73;
+ else if (Axis == Axis::Y) return 74;
+ else return 75;
+ }
+ BlockState OakLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace OakPlanks
+ {
+ constexpr BlockState OakPlanks()
+ {
+ return 15;
+ }
+ }
+ namespace OakPressurePlate
+ {
+ constexpr BlockState OakPressurePlate(const bool Powered)
+ {
+ if (Powered) return 3873;
+ else return 3874;
+ }
+ BlockState OakPressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace OakSapling
+ {
+ constexpr BlockState OakSapling(const unsigned char Stage)
+ {
+ if (Stage == 0) return 21;
+ else return 22;
+ }
+ BlockState OakSapling();
+ unsigned char Stage(BlockState Block);
+ }
+ namespace OakSign
+ {
+ constexpr BlockState OakSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 3382;
+ else if (Rotation == 1) return 3384;
+ else if (Rotation == 2) return 3386;
+ else if (Rotation == 3) return 3388;
+ else if (Rotation == 4) return 3390;
+ else if (Rotation == 5) return 3392;
+ else if (Rotation == 6) return 3394;
+ else if (Rotation == 7) return 3396;
+ else if (Rotation == 8) return 3398;
+ else if (Rotation == 9) return 3400;
+ else if (Rotation == 10) return 3402;
+ else if (Rotation == 11) return 3404;
+ else if (Rotation == 12) return 3406;
+ else if (Rotation == 13) return 3408;
+ else if (Rotation == 14) return 3410;
+ else return 3412;
+ }
+ BlockState OakSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace OakSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState OakSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8301;
+ else if (Type == Type::Bottom) return 8303;
+ else return 8305;
+ }
+ BlockState OakSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace OakStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState OakStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 1955;
+ else if (Shape == Shape::InnerLeft) return 1957;
+ else if (Shape == Shape::InnerRight) return 1959;
+ else if (Shape == Shape::OuterLeft) return 1961;
+ else return 1963;
+ else
+ if (Shape == Shape::Straight) return 1965;
+ else if (Shape == Shape::InnerLeft) return 1967;
+ else if (Shape == Shape::InnerRight) return 1969;
+ else if (Shape == Shape::OuterLeft) return 1971;
+ else return 1973;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 1975;
+ else if (Shape == Shape::InnerLeft) return 1977;
+ else if (Shape == Shape::InnerRight) return 1979;
+ else if (Shape == Shape::OuterLeft) return 1981;
+ else return 1983;
+ else
+ if (Shape == Shape::Straight) return 1985;
+ else if (Shape == Shape::InnerLeft) return 1987;
+ else if (Shape == Shape::InnerRight) return 1989;
+ else if (Shape == Shape::OuterLeft) return 1991;
+ else return 1993;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 1995;
+ else if (Shape == Shape::InnerLeft) return 1997;
+ else if (Shape == Shape::InnerRight) return 1999;
+ else if (Shape == Shape::OuterLeft) return 2001;
+ else return 2003;
+ else
+ if (Shape == Shape::Straight) return 2005;
+ else if (Shape == Shape::InnerLeft) return 2007;
+ else if (Shape == Shape::InnerRight) return 2009;
+ else if (Shape == Shape::OuterLeft) return 2011;
+ else return 2013;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 2015;
+ else if (Shape == Shape::InnerLeft) return 2017;
+ else if (Shape == Shape::InnerRight) return 2019;
+ else if (Shape == Shape::OuterLeft) return 2021;
+ else return 2023;
+ else
+ if (Shape == Shape::Straight) return 2025;
+ else if (Shape == Shape::InnerLeft) return 2027;
+ else if (Shape == Shape::InnerRight) return 2029;
+ else if (Shape == Shape::OuterLeft) return 2031;
+ else return 2033;
+ }
+ BlockState OakStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace OakTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState OakTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4112;
+ else return 4114;
+ else
+ if (Powered) return 4116;
+ else return 4118;
+ else
+ if (Open)
+ if (Powered) return 4120;
+ else return 4122;
+ else
+ if (Powered) return 4124;
+ else return 4126;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4128;
+ else return 4130;
+ else
+ if (Powered) return 4132;
+ else return 4134;
+ else
+ if (Open)
+ if (Powered) return 4136;
+ else return 4138;
+ else
+ if (Powered) return 4140;
+ else return 4142;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4144;
+ else return 4146;
+ else
+ if (Powered) return 4148;
+ else return 4150;
+ else
+ if (Open)
+ if (Powered) return 4152;
+ else return 4154;
+ else
+ if (Powered) return 4156;
+ else return 4158;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4160;
+ else return 4162;
+ else
+ if (Powered) return 4164;
+ else return 4166;
+ else
+ if (Open)
+ if (Powered) return 4168;
+ else return 4170;
+ else
+ if (Powered) return 4172;
+ else return 4174;
+ }
+ BlockState OakTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace OakWallSign
+ {
+ constexpr BlockState OakWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3736;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3738;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3740;
+ else return 3742;
+ }
+ BlockState OakWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace OakWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState OakWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 109;
+ else if (Axis == Axis::Y) return 110;
+ else return 111;
+ }
+ BlockState OakWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace Observer
+ {
+ constexpr BlockState Observer(const eBlockFace Facing, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 9260;
+ else return 9261;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP)
+ if (Powered) return 9262;
+ else return 9263;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 9264;
+ else return 9265;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 9266;
+ else return 9267;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP)
+ if (Powered) return 9268;
+ else return 9269;
+ else
+ if (Powered) return 9270;
+ else return 9271;
+ }
+ BlockState Observer();
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace Obsidian
+ {
+ constexpr BlockState Obsidian()
+ {
+ return 1434;
+ }
+ }
+ namespace OrangeBanner
+ {
+ constexpr BlockState OrangeBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 7913;
+ else if (Rotation == 1) return 7914;
+ else if (Rotation == 2) return 7915;
+ else if (Rotation == 3) return 7916;
+ else if (Rotation == 4) return 7917;
+ else if (Rotation == 5) return 7918;
+ else if (Rotation == 6) return 7919;
+ else if (Rotation == 7) return 7920;
+ else if (Rotation == 8) return 7921;
+ else if (Rotation == 9) return 7922;
+ else if (Rotation == 10) return 7923;
+ else if (Rotation == 11) return 7924;
+ else if (Rotation == 12) return 7925;
+ else if (Rotation == 13) return 7926;
+ else if (Rotation == 14) return 7927;
+ else return 7928;
+ }
+ BlockState OrangeBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace OrangeBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState OrangeBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1065;
+ else return 1066;
+ else
+ if (Part == Part::Head) return 1067;
+ else return 1068;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1069;
+ else return 1070;
+ else
+ if (Part == Part::Head) return 1071;
+ else return 1072;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1073;
+ else return 1074;
+ else
+ if (Part == Part::Head) return 1075;
+ else return 1076;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1077;
+ else return 1078;
+ else
+ if (Part == Part::Head) return 1079;
+ else return 1080;
+ }
+ BlockState OrangeBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace OrangeCarpet
+ {
+ constexpr BlockState OrangeCarpet()
+ {
+ return 7867;
+ }
+ }
+ namespace OrangeConcrete
+ {
+ constexpr BlockState OrangeConcrete()
+ {
+ return 9439;
+ }
+ }
+ namespace OrangeConcretePowder
+ {
+ constexpr BlockState OrangeConcretePowder()
+ {
+ return 9455;
+ }
+ }
+ namespace OrangeGlazedTerracotta
+ {
+ constexpr BlockState OrangeGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9378;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9379;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9380;
+ else return 9381;
+ }
+ BlockState OrangeGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace OrangeShulkerBox
+ {
+ constexpr BlockState OrangeShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9284;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9285;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9286;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9287;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9288;
+ else return 9289;
+ }
+ BlockState OrangeShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace OrangeStainedGlass
+ {
+ constexpr BlockState OrangeStainedGlass()
+ {
+ return 4096;
+ }
+ }
+ namespace OrangeStainedGlassPane
+ {
+ constexpr BlockState OrangeStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 6897;
+ else return 6898;
+ else
+ if (West) return 6901;
+ else return 6902;
+ else
+ if (South)
+ if (West) return 6905;
+ else return 6906;
+ else
+ if (West) return 6909;
+ else return 6910;
+ else
+ if (North)
+ if (South)
+ if (West) return 6913;
+ else return 6914;
+ else
+ if (West) return 6917;
+ else return 6918;
+ else
+ if (South)
+ if (West) return 6921;
+ else return 6922;
+ else
+ if (West) return 6925;
+ else return 6926;
+ }
+ BlockState OrangeStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace OrangeTerracotta
+ {
+ constexpr BlockState OrangeTerracotta()
+ {
+ return 6848;
+ }
+ }
+ namespace OrangeTulip
+ {
+ constexpr BlockState OrangeTulip()
+ {
+ return 1418;
+ }
+ }
+ namespace OrangeWallBanner
+ {
+ constexpr BlockState OrangeWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8157;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8158;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8159;
+ else return 8160;
+ }
+ BlockState OrangeWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace OrangeWool
+ {
+ constexpr BlockState OrangeWool()
+ {
+ return 1385;
+ }
+ }
+ namespace OxeyeDaisy
+ {
+ constexpr BlockState OxeyeDaisy()
+ {
+ return 1421;
+ }
+ }
+ namespace PackedIce
+ {
+ constexpr BlockState PackedIce()
+ {
+ return 7884;
+ }
+ }
+ namespace Peony
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ constexpr BlockState Peony(const enum Half Half)
+ {
+ if (Half == Half::Upper) return 7891;
+ else return 7892;
+ }
+ BlockState Peony();
+ enum Half Half(BlockState Block);
+ }
+ namespace PetrifiedOakSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PetrifiedOakSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8361;
+ else if (Type == Type::Bottom) return 8363;
+ else return 8365;
+ }
+ BlockState PetrifiedOakSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PinkBanner
+ {
+ constexpr BlockState PinkBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 7993;
+ else if (Rotation == 1) return 7994;
+ else if (Rotation == 2) return 7995;
+ else if (Rotation == 3) return 7996;
+ else if (Rotation == 4) return 7997;
+ else if (Rotation == 5) return 7998;
+ else if (Rotation == 6) return 7999;
+ else if (Rotation == 7) return 8000;
+ else if (Rotation == 8) return 8001;
+ else if (Rotation == 9) return 8002;
+ else if (Rotation == 10) return 8003;
+ else if (Rotation == 11) return 8004;
+ else if (Rotation == 12) return 8005;
+ else if (Rotation == 13) return 8006;
+ else if (Rotation == 14) return 8007;
+ else return 8008;
+ }
+ BlockState PinkBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace PinkBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState PinkBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1145;
+ else return 1146;
+ else
+ if (Part == Part::Head) return 1147;
+ else return 1148;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1149;
+ else return 1150;
+ else
+ if (Part == Part::Head) return 1151;
+ else return 1152;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1153;
+ else return 1154;
+ else
+ if (Part == Part::Head) return 1155;
+ else return 1156;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1157;
+ else return 1158;
+ else
+ if (Part == Part::Head) return 1159;
+ else return 1160;
+ }
+ BlockState PinkBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace PinkCarpet
+ {
+ constexpr BlockState PinkCarpet()
+ {
+ return 7872;
+ }
+ }
+ namespace PinkConcrete
+ {
+ constexpr BlockState PinkConcrete()
+ {
+ return 9444;
+ }
+ }
+ namespace PinkConcretePowder
+ {
+ constexpr BlockState PinkConcretePowder()
+ {
+ return 9460;
+ }
+ }
+ namespace PinkGlazedTerracotta
+ {
+ constexpr BlockState PinkGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9398;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9399;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9400;
+ else return 9401;
+ }
+ BlockState PinkGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace PinkShulkerBox
+ {
+ constexpr BlockState PinkShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9314;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9315;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9316;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9317;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9318;
+ else return 9319;
+ }
+ BlockState PinkShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace PinkStainedGlass
+ {
+ constexpr BlockState PinkStainedGlass()
+ {
+ return 4101;
+ }
+ }
+ namespace PinkStainedGlassPane
+ {
+ constexpr BlockState PinkStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7057;
+ else return 7058;
+ else
+ if (West) return 7061;
+ else return 7062;
+ else
+ if (South)
+ if (West) return 7065;
+ else return 7066;
+ else
+ if (West) return 7069;
+ else return 7070;
+ else
+ if (North)
+ if (South)
+ if (West) return 7073;
+ else return 7074;
+ else
+ if (West) return 7077;
+ else return 7078;
+ else
+ if (South)
+ if (West) return 7081;
+ else return 7082;
+ else
+ if (West) return 7085;
+ else return 7086;
+ }
+ BlockState PinkStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace PinkTerracotta
+ {
+ constexpr BlockState PinkTerracotta()
+ {
+ return 6853;
+ }
+ }
+ namespace PinkTulip
+ {
+ constexpr BlockState PinkTulip()
+ {
+ return 1420;
+ }
+ }
+ namespace PinkWallBanner
+ {
+ constexpr BlockState PinkWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8177;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8178;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8179;
+ else return 8180;
+ }
+ BlockState PinkWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace PinkWool
+ {
+ constexpr BlockState PinkWool()
+ {
+ return 1390;
+ }
+ }
+ namespace Piston
+ {
+ constexpr BlockState Piston(const bool Extended, const eBlockFace Facing)
+ {
+ if (Extended)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1348;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1349;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1350;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1351;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1352;
+ else return 1353;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1354;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1355;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1356;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1357;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1358;
+ else return 1359;
+ }
+ BlockState Piston();
+ bool Extended(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace PistonHead
+ {
+ enum class Type
+ {
+ Normal,
+ Sticky
+ };
+ constexpr BlockState PistonHead(const eBlockFace Facing, const bool Short, const enum Type Type)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Short)
+ if (Type == Type::Normal) return 1360;
+ else return 1361;
+ else
+ if (Type == Type::Normal) return 1362;
+ else return 1363;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP)
+ if (Short)
+ if (Type == Type::Normal) return 1364;
+ else return 1365;
+ else
+ if (Type == Type::Normal) return 1366;
+ else return 1367;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Short)
+ if (Type == Type::Normal) return 1368;
+ else return 1369;
+ else
+ if (Type == Type::Normal) return 1370;
+ else return 1371;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Short)
+ if (Type == Type::Normal) return 1372;
+ else return 1373;
+ else
+ if (Type == Type::Normal) return 1374;
+ else return 1375;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP)
+ if (Short)
+ if (Type == Type::Normal) return 1376;
+ else return 1377;
+ else
+ if (Type == Type::Normal) return 1378;
+ else return 1379;
+ else
+ if (Short)
+ if (Type == Type::Normal) return 1380;
+ else return 1381;
+ else
+ if (Type == Type::Normal) return 1382;
+ else return 1383;
+ }
+ BlockState PistonHead();
+ eBlockFace Facing(BlockState Block);
+ bool Short(BlockState Block);
+ enum Type Type(BlockState Block);
+ }
+ namespace PlayerHead
+ {
+ constexpr BlockState PlayerHead(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 6550;
+ else if (Rotation == 1) return 6551;
+ else if (Rotation == 2) return 6552;
+ else if (Rotation == 3) return 6553;
+ else if (Rotation == 4) return 6554;
+ else if (Rotation == 5) return 6555;
+ else if (Rotation == 6) return 6556;
+ else if (Rotation == 7) return 6557;
+ else if (Rotation == 8) return 6558;
+ else if (Rotation == 9) return 6559;
+ else if (Rotation == 10) return 6560;
+ else if (Rotation == 11) return 6561;
+ else if (Rotation == 12) return 6562;
+ else if (Rotation == 13) return 6563;
+ else if (Rotation == 14) return 6564;
+ else return 6565;
+ }
+ BlockState PlayerHead();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace PlayerWallHead
+ {
+ constexpr BlockState PlayerWallHead(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6566;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6567;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6568;
+ else return 6569;
+ }
+ BlockState PlayerWallHead();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Podzol
+ {
+ constexpr BlockState Podzol(const bool Snowy)
+ {
+ if (Snowy) return 12;
+ else return 13;
+ }
+ BlockState Podzol();
+ bool Snowy(BlockState Block);
+ }
+ namespace PolishedAndesite
+ {
+ constexpr BlockState PolishedAndesite()
+ {
+ return 7;
+ }
+ }
+ namespace PolishedAndesiteSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PolishedAndesiteSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10856;
+ else if (Type == Type::Bottom) return 10858;
+ else return 10860;
+ }
+ BlockState PolishedAndesiteSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PolishedAndesiteStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PolishedAndesiteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10630;
+ else if (Shape == Shape::InnerLeft) return 10632;
+ else if (Shape == Shape::InnerRight) return 10634;
+ else if (Shape == Shape::OuterLeft) return 10636;
+ else return 10638;
+ else
+ if (Shape == Shape::Straight) return 10640;
+ else if (Shape == Shape::InnerLeft) return 10642;
+ else if (Shape == Shape::InnerRight) return 10644;
+ else if (Shape == Shape::OuterLeft) return 10646;
+ else return 10648;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10650;
+ else if (Shape == Shape::InnerLeft) return 10652;
+ else if (Shape == Shape::InnerRight) return 10654;
+ else if (Shape == Shape::OuterLeft) return 10656;
+ else return 10658;
+ else
+ if (Shape == Shape::Straight) return 10660;
+ else if (Shape == Shape::InnerLeft) return 10662;
+ else if (Shape == Shape::InnerRight) return 10664;
+ else if (Shape == Shape::OuterLeft) return 10666;
+ else return 10668;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10670;
+ else if (Shape == Shape::InnerLeft) return 10672;
+ else if (Shape == Shape::InnerRight) return 10674;
+ else if (Shape == Shape::OuterLeft) return 10676;
+ else return 10678;
+ else
+ if (Shape == Shape::Straight) return 10680;
+ else if (Shape == Shape::InnerLeft) return 10682;
+ else if (Shape == Shape::InnerRight) return 10684;
+ else if (Shape == Shape::OuterLeft) return 10686;
+ else return 10688;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10690;
+ else if (Shape == Shape::InnerLeft) return 10692;
+ else if (Shape == Shape::InnerRight) return 10694;
+ else if (Shape == Shape::OuterLeft) return 10696;
+ else return 10698;
+ else
+ if (Shape == Shape::Straight) return 10700;
+ else if (Shape == Shape::InnerLeft) return 10702;
+ else if (Shape == Shape::InnerRight) return 10704;
+ else if (Shape == Shape::OuterLeft) return 10706;
+ else return 10708;
+ }
+ BlockState PolishedAndesiteStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace PolishedBasalt
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState PolishedBasalt(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 4005;
+ else if (Axis == Axis::Y) return 4006;
+ else return 4007;
+ }
+ BlockState PolishedBasalt();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace PolishedBlackstone
+ {
+ constexpr BlockState PolishedBlackstone()
+ {
+ return 16250;
+ }
+ }
+ namespace PolishedBlackstoneBrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PolishedBlackstoneBrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 16255;
+ else if (Type == Type::Bottom) return 16257;
+ else return 16259;
+ }
+ BlockState PolishedBlackstoneBrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PolishedBlackstoneBrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PolishedBlackstoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16261;
+ else if (Shape == Shape::InnerLeft) return 16263;
+ else if (Shape == Shape::InnerRight) return 16265;
+ else if (Shape == Shape::OuterLeft) return 16267;
+ else return 16269;
+ else
+ if (Shape == Shape::Straight) return 16271;
+ else if (Shape == Shape::InnerLeft) return 16273;
+ else if (Shape == Shape::InnerRight) return 16275;
+ else if (Shape == Shape::OuterLeft) return 16277;
+ else return 16279;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16281;
+ else if (Shape == Shape::InnerLeft) return 16283;
+ else if (Shape == Shape::InnerRight) return 16285;
+ else if (Shape == Shape::OuterLeft) return 16287;
+ else return 16289;
+ else
+ if (Shape == Shape::Straight) return 16291;
+ else if (Shape == Shape::InnerLeft) return 16293;
+ else if (Shape == Shape::InnerRight) return 16295;
+ else if (Shape == Shape::OuterLeft) return 16297;
+ else return 16299;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16301;
+ else if (Shape == Shape::InnerLeft) return 16303;
+ else if (Shape == Shape::InnerRight) return 16305;
+ else if (Shape == Shape::OuterLeft) return 16307;
+ else return 16309;
+ else
+ if (Shape == Shape::Straight) return 16311;
+ else if (Shape == Shape::InnerLeft) return 16313;
+ else if (Shape == Shape::InnerRight) return 16315;
+ else if (Shape == Shape::OuterLeft) return 16317;
+ else return 16319;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16321;
+ else if (Shape == Shape::InnerLeft) return 16323;
+ else if (Shape == Shape::InnerRight) return 16325;
+ else if (Shape == Shape::OuterLeft) return 16327;
+ else return 16329;
+ else
+ if (Shape == Shape::Straight) return 16331;
+ else if (Shape == Shape::InnerLeft) return 16333;
+ else if (Shape == Shape::InnerRight) return 16335;
+ else if (Shape == Shape::OuterLeft) return 16337;
+ else return 16339;
+ }
+ BlockState PolishedBlackstoneBrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace PolishedBlackstoneBrickWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState PolishedBlackstoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16343;
+ else if (West == West::Low) return 16344;
+ else return 16345;
+ else
+ if (West == West::None) return 16349;
+ else if (West == West::Low) return 16350;
+ else return 16351;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16355;
+ else if (West == West::Low) return 16356;
+ else return 16357;
+ else
+ if (West == West::None) return 16361;
+ else if (West == West::Low) return 16362;
+ else return 16363;
+ else
+ if (Up)
+ if (West == West::None) return 16367;
+ else if (West == West::Low) return 16368;
+ else return 16369;
+ else
+ if (West == West::None) return 16373;
+ else if (West == West::Low) return 16374;
+ else return 16375;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16379;
+ else if (West == West::Low) return 16380;
+ else return 16381;
+ else
+ if (West == West::None) return 16385;
+ else if (West == West::Low) return 16386;
+ else return 16387;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16391;
+ else if (West == West::Low) return 16392;
+ else return 16393;
+ else
+ if (West == West::None) return 16397;
+ else if (West == West::Low) return 16398;
+ else return 16399;
+ else
+ if (Up)
+ if (West == West::None) return 16403;
+ else if (West == West::Low) return 16404;
+ else return 16405;
+ else
+ if (West == West::None) return 16409;
+ else if (West == West::Low) return 16410;
+ else return 16411;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16415;
+ else if (West == West::Low) return 16416;
+ else return 16417;
+ else
+ if (West == West::None) return 16421;
+ else if (West == West::Low) return 16422;
+ else return 16423;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16427;
+ else if (West == West::Low) return 16428;
+ else return 16429;
+ else
+ if (West == West::None) return 16433;
+ else if (West == West::Low) return 16434;
+ else return 16435;
+ else
+ if (Up)
+ if (West == West::None) return 16439;
+ else if (West == West::Low) return 16440;
+ else return 16441;
+ else
+ if (West == West::None) return 16445;
+ else if (West == West::Low) return 16446;
+ else return 16447;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16451;
+ else if (West == West::Low) return 16452;
+ else return 16453;
+ else
+ if (West == West::None) return 16457;
+ else if (West == West::Low) return 16458;
+ else return 16459;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16463;
+ else if (West == West::Low) return 16464;
+ else return 16465;
+ else
+ if (West == West::None) return 16469;
+ else if (West == West::Low) return 16470;
+ else return 16471;
+ else
+ if (Up)
+ if (West == West::None) return 16475;
+ else if (West == West::Low) return 16476;
+ else return 16477;
+ else
+ if (West == West::None) return 16481;
+ else if (West == West::Low) return 16482;
+ else return 16483;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16487;
+ else if (West == West::Low) return 16488;
+ else return 16489;
+ else
+ if (West == West::None) return 16493;
+ else if (West == West::Low) return 16494;
+ else return 16495;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16499;
+ else if (West == West::Low) return 16500;
+ else return 16501;
+ else
+ if (West == West::None) return 16505;
+ else if (West == West::Low) return 16506;
+ else return 16507;
+ else
+ if (Up)
+ if (West == West::None) return 16511;
+ else if (West == West::Low) return 16512;
+ else return 16513;
+ else
+ if (West == West::None) return 16517;
+ else if (West == West::Low) return 16518;
+ else return 16519;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16523;
+ else if (West == West::Low) return 16524;
+ else return 16525;
+ else
+ if (West == West::None) return 16529;
+ else if (West == West::Low) return 16530;
+ else return 16531;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16535;
+ else if (West == West::Low) return 16536;
+ else return 16537;
+ else
+ if (West == West::None) return 16541;
+ else if (West == West::Low) return 16542;
+ else return 16543;
+ else
+ if (Up)
+ if (West == West::None) return 16547;
+ else if (West == West::Low) return 16548;
+ else return 16549;
+ else
+ if (West == West::None) return 16553;
+ else if (West == West::Low) return 16554;
+ else return 16555;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16559;
+ else if (West == West::Low) return 16560;
+ else return 16561;
+ else
+ if (West == West::None) return 16565;
+ else if (West == West::Low) return 16566;
+ else return 16567;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16571;
+ else if (West == West::Low) return 16572;
+ else return 16573;
+ else
+ if (West == West::None) return 16577;
+ else if (West == West::Low) return 16578;
+ else return 16579;
+ else
+ if (Up)
+ if (West == West::None) return 16583;
+ else if (West == West::Low) return 16584;
+ else return 16585;
+ else
+ if (West == West::None) return 16589;
+ else if (West == West::Low) return 16590;
+ else return 16591;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16595;
+ else if (West == West::Low) return 16596;
+ else return 16597;
+ else
+ if (West == West::None) return 16601;
+ else if (West == West::Low) return 16602;
+ else return 16603;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16607;
+ else if (West == West::Low) return 16608;
+ else return 16609;
+ else
+ if (West == West::None) return 16613;
+ else if (West == West::Low) return 16614;
+ else return 16615;
+ else
+ if (Up)
+ if (West == West::None) return 16619;
+ else if (West == West::Low) return 16620;
+ else return 16621;
+ else
+ if (West == West::None) return 16625;
+ else if (West == West::Low) return 16626;
+ else return 16627;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16631;
+ else if (West == West::Low) return 16632;
+ else return 16633;
+ else
+ if (West == West::None) return 16637;
+ else if (West == West::Low) return 16638;
+ else return 16639;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16643;
+ else if (West == West::Low) return 16644;
+ else return 16645;
+ else
+ if (West == West::None) return 16649;
+ else if (West == West::Low) return 16650;
+ else return 16651;
+ else
+ if (Up)
+ if (West == West::None) return 16655;
+ else if (West == West::Low) return 16656;
+ else return 16657;
+ else
+ if (West == West::None) return 16661;
+ else if (West == West::Low) return 16662;
+ else return 16663;
+ }
+ BlockState PolishedBlackstoneBrickWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace PolishedBlackstoneBricks
+ {
+ constexpr BlockState PolishedBlackstoneBricks()
+ {
+ return 16251;
+ }
+ }
+ namespace PolishedBlackstoneButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState PolishedBlackstoneButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 16753;
+ else return 16754;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 16755;
+ else return 16756;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 16757;
+ else return 16758;
+ else
+ if (Powered) return 16759;
+ else return 16760;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 16761;
+ else return 16762;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 16763;
+ else return 16764;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 16765;
+ else return 16766;
+ else
+ if (Powered) return 16767;
+ else return 16768;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 16769;
+ else return 16770;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 16771;
+ else return 16772;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 16773;
+ else return 16774;
+ else
+ if (Powered) return 16775;
+ else return 16776;
+ }
+ BlockState PolishedBlackstoneButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace PolishedBlackstonePressurePlate
+ {
+ constexpr BlockState PolishedBlackstonePressurePlate(const bool Powered)
+ {
+ if (Powered) return 16751;
+ else return 16752;
+ }
+ BlockState PolishedBlackstonePressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace PolishedBlackstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PolishedBlackstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 16746;
+ else if (Type == Type::Bottom) return 16748;
+ else return 16750;
+ }
+ BlockState PolishedBlackstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PolishedBlackstoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PolishedBlackstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16666;
+ else if (Shape == Shape::InnerLeft) return 16668;
+ else if (Shape == Shape::InnerRight) return 16670;
+ else if (Shape == Shape::OuterLeft) return 16672;
+ else return 16674;
+ else
+ if (Shape == Shape::Straight) return 16676;
+ else if (Shape == Shape::InnerLeft) return 16678;
+ else if (Shape == Shape::InnerRight) return 16680;
+ else if (Shape == Shape::OuterLeft) return 16682;
+ else return 16684;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16686;
+ else if (Shape == Shape::InnerLeft) return 16688;
+ else if (Shape == Shape::InnerRight) return 16690;
+ else if (Shape == Shape::OuterLeft) return 16692;
+ else return 16694;
+ else
+ if (Shape == Shape::Straight) return 16696;
+ else if (Shape == Shape::InnerLeft) return 16698;
+ else if (Shape == Shape::InnerRight) return 16700;
+ else if (Shape == Shape::OuterLeft) return 16702;
+ else return 16704;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16706;
+ else if (Shape == Shape::InnerLeft) return 16708;
+ else if (Shape == Shape::InnerRight) return 16710;
+ else if (Shape == Shape::OuterLeft) return 16712;
+ else return 16714;
+ else
+ if (Shape == Shape::Straight) return 16716;
+ else if (Shape == Shape::InnerLeft) return 16718;
+ else if (Shape == Shape::InnerRight) return 16720;
+ else if (Shape == Shape::OuterLeft) return 16722;
+ else return 16724;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 16726;
+ else if (Shape == Shape::InnerLeft) return 16728;
+ else if (Shape == Shape::InnerRight) return 16730;
+ else if (Shape == Shape::OuterLeft) return 16732;
+ else return 16734;
+ else
+ if (Shape == Shape::Straight) return 16736;
+ else if (Shape == Shape::InnerLeft) return 16738;
+ else if (Shape == Shape::InnerRight) return 16740;
+ else if (Shape == Shape::OuterLeft) return 16742;
+ else return 16744;
+ }
+ BlockState PolishedBlackstoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace PolishedBlackstoneWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState PolishedBlackstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16780;
+ else if (West == West::Low) return 16781;
+ else return 16782;
+ else
+ if (West == West::None) return 16786;
+ else if (West == West::Low) return 16787;
+ else return 16788;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16792;
+ else if (West == West::Low) return 16793;
+ else return 16794;
+ else
+ if (West == West::None) return 16798;
+ else if (West == West::Low) return 16799;
+ else return 16800;
+ else
+ if (Up)
+ if (West == West::None) return 16804;
+ else if (West == West::Low) return 16805;
+ else return 16806;
+ else
+ if (West == West::None) return 16810;
+ else if (West == West::Low) return 16811;
+ else return 16812;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16816;
+ else if (West == West::Low) return 16817;
+ else return 16818;
+ else
+ if (West == West::None) return 16822;
+ else if (West == West::Low) return 16823;
+ else return 16824;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16828;
+ else if (West == West::Low) return 16829;
+ else return 16830;
+ else
+ if (West == West::None) return 16834;
+ else if (West == West::Low) return 16835;
+ else return 16836;
+ else
+ if (Up)
+ if (West == West::None) return 16840;
+ else if (West == West::Low) return 16841;
+ else return 16842;
+ else
+ if (West == West::None) return 16846;
+ else if (West == West::Low) return 16847;
+ else return 16848;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16852;
+ else if (West == West::Low) return 16853;
+ else return 16854;
+ else
+ if (West == West::None) return 16858;
+ else if (West == West::Low) return 16859;
+ else return 16860;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16864;
+ else if (West == West::Low) return 16865;
+ else return 16866;
+ else
+ if (West == West::None) return 16870;
+ else if (West == West::Low) return 16871;
+ else return 16872;
+ else
+ if (Up)
+ if (West == West::None) return 16876;
+ else if (West == West::Low) return 16877;
+ else return 16878;
+ else
+ if (West == West::None) return 16882;
+ else if (West == West::Low) return 16883;
+ else return 16884;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16888;
+ else if (West == West::Low) return 16889;
+ else return 16890;
+ else
+ if (West == West::None) return 16894;
+ else if (West == West::Low) return 16895;
+ else return 16896;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16900;
+ else if (West == West::Low) return 16901;
+ else return 16902;
+ else
+ if (West == West::None) return 16906;
+ else if (West == West::Low) return 16907;
+ else return 16908;
+ else
+ if (Up)
+ if (West == West::None) return 16912;
+ else if (West == West::Low) return 16913;
+ else return 16914;
+ else
+ if (West == West::None) return 16918;
+ else if (West == West::Low) return 16919;
+ else return 16920;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16924;
+ else if (West == West::Low) return 16925;
+ else return 16926;
+ else
+ if (West == West::None) return 16930;
+ else if (West == West::Low) return 16931;
+ else return 16932;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16936;
+ else if (West == West::Low) return 16937;
+ else return 16938;
+ else
+ if (West == West::None) return 16942;
+ else if (West == West::Low) return 16943;
+ else return 16944;
+ else
+ if (Up)
+ if (West == West::None) return 16948;
+ else if (West == West::Low) return 16949;
+ else return 16950;
+ else
+ if (West == West::None) return 16954;
+ else if (West == West::Low) return 16955;
+ else return 16956;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16960;
+ else if (West == West::Low) return 16961;
+ else return 16962;
+ else
+ if (West == West::None) return 16966;
+ else if (West == West::Low) return 16967;
+ else return 16968;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 16972;
+ else if (West == West::Low) return 16973;
+ else return 16974;
+ else
+ if (West == West::None) return 16978;
+ else if (West == West::Low) return 16979;
+ else return 16980;
+ else
+ if (Up)
+ if (West == West::None) return 16984;
+ else if (West == West::Low) return 16985;
+ else return 16986;
+ else
+ if (West == West::None) return 16990;
+ else if (West == West::Low) return 16991;
+ else return 16992;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 16996;
+ else if (West == West::Low) return 16997;
+ else return 16998;
+ else
+ if (West == West::None) return 17002;
+ else if (West == West::Low) return 17003;
+ else return 17004;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 17008;
+ else if (West == West::Low) return 17009;
+ else return 17010;
+ else
+ if (West == West::None) return 17014;
+ else if (West == West::Low) return 17015;
+ else return 17016;
+ else
+ if (Up)
+ if (West == West::None) return 17020;
+ else if (West == West::Low) return 17021;
+ else return 17022;
+ else
+ if (West == West::None) return 17026;
+ else if (West == West::Low) return 17027;
+ else return 17028;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 17032;
+ else if (West == West::Low) return 17033;
+ else return 17034;
+ else
+ if (West == West::None) return 17038;
+ else if (West == West::Low) return 17039;
+ else return 17040;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 17044;
+ else if (West == West::Low) return 17045;
+ else return 17046;
+ else
+ if (West == West::None) return 17050;
+ else if (West == West::Low) return 17051;
+ else return 17052;
+ else
+ if (Up)
+ if (West == West::None) return 17056;
+ else if (West == West::Low) return 17057;
+ else return 17058;
+ else
+ if (West == West::None) return 17062;
+ else if (West == West::Low) return 17063;
+ else return 17064;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 17068;
+ else if (West == West::Low) return 17069;
+ else return 17070;
+ else
+ if (West == West::None) return 17074;
+ else if (West == West::Low) return 17075;
+ else return 17076;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 17080;
+ else if (West == West::Low) return 17081;
+ else return 17082;
+ else
+ if (West == West::None) return 17086;
+ else if (West == West::Low) return 17087;
+ else return 17088;
+ else
+ if (Up)
+ if (West == West::None) return 17092;
+ else if (West == West::Low) return 17093;
+ else return 17094;
+ else
+ if (West == West::None) return 17098;
+ else if (West == West::Low) return 17099;
+ else return 17100;
+ }
+ BlockState PolishedBlackstoneWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace PolishedDiorite
+ {
+ constexpr BlockState PolishedDiorite()
+ {
+ return 5;
+ }
+ }
+ namespace PolishedDioriteSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PolishedDioriteSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10808;
+ else if (Type == Type::Bottom) return 10810;
+ else return 10812;
+ }
+ BlockState PolishedDioriteSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PolishedDioriteStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PolishedDioriteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9910;
+ else if (Shape == Shape::InnerLeft) return 9912;
+ else if (Shape == Shape::InnerRight) return 9914;
+ else if (Shape == Shape::OuterLeft) return 9916;
+ else return 9918;
+ else
+ if (Shape == Shape::Straight) return 9920;
+ else if (Shape == Shape::InnerLeft) return 9922;
+ else if (Shape == Shape::InnerRight) return 9924;
+ else if (Shape == Shape::OuterLeft) return 9926;
+ else return 9928;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9930;
+ else if (Shape == Shape::InnerLeft) return 9932;
+ else if (Shape == Shape::InnerRight) return 9934;
+ else if (Shape == Shape::OuterLeft) return 9936;
+ else return 9938;
+ else
+ if (Shape == Shape::Straight) return 9940;
+ else if (Shape == Shape::InnerLeft) return 9942;
+ else if (Shape == Shape::InnerRight) return 9944;
+ else if (Shape == Shape::OuterLeft) return 9946;
+ else return 9948;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9950;
+ else if (Shape == Shape::InnerLeft) return 9952;
+ else if (Shape == Shape::InnerRight) return 9954;
+ else if (Shape == Shape::OuterLeft) return 9956;
+ else return 9958;
+ else
+ if (Shape == Shape::Straight) return 9960;
+ else if (Shape == Shape::InnerLeft) return 9962;
+ else if (Shape == Shape::InnerRight) return 9964;
+ else if (Shape == Shape::OuterLeft) return 9966;
+ else return 9968;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9970;
+ else if (Shape == Shape::InnerLeft) return 9972;
+ else if (Shape == Shape::InnerRight) return 9974;
+ else if (Shape == Shape::OuterLeft) return 9976;
+ else return 9978;
+ else
+ if (Shape == Shape::Straight) return 9980;
+ else if (Shape == Shape::InnerLeft) return 9982;
+ else if (Shape == Shape::InnerRight) return 9984;
+ else if (Shape == Shape::OuterLeft) return 9986;
+ else return 9988;
+ }
+ BlockState PolishedDioriteStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace PolishedGranite
+ {
+ constexpr BlockState PolishedGranite()
+ {
+ return 3;
+ }
+ }
+ namespace PolishedGraniteSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PolishedGraniteSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10790;
+ else if (Type == Type::Bottom) return 10792;
+ else return 10794;
+ }
+ BlockState PolishedGraniteSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PolishedGraniteStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PolishedGraniteStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9670;
+ else if (Shape == Shape::InnerLeft) return 9672;
+ else if (Shape == Shape::InnerRight) return 9674;
+ else if (Shape == Shape::OuterLeft) return 9676;
+ else return 9678;
+ else
+ if (Shape == Shape::Straight) return 9680;
+ else if (Shape == Shape::InnerLeft) return 9682;
+ else if (Shape == Shape::InnerRight) return 9684;
+ else if (Shape == Shape::OuterLeft) return 9686;
+ else return 9688;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9690;
+ else if (Shape == Shape::InnerLeft) return 9692;
+ else if (Shape == Shape::InnerRight) return 9694;
+ else if (Shape == Shape::OuterLeft) return 9696;
+ else return 9698;
+ else
+ if (Shape == Shape::Straight) return 9700;
+ else if (Shape == Shape::InnerLeft) return 9702;
+ else if (Shape == Shape::InnerRight) return 9704;
+ else if (Shape == Shape::OuterLeft) return 9706;
+ else return 9708;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9710;
+ else if (Shape == Shape::InnerLeft) return 9712;
+ else if (Shape == Shape::InnerRight) return 9714;
+ else if (Shape == Shape::OuterLeft) return 9716;
+ else return 9718;
+ else
+ if (Shape == Shape::Straight) return 9720;
+ else if (Shape == Shape::InnerLeft) return 9722;
+ else if (Shape == Shape::InnerRight) return 9724;
+ else if (Shape == Shape::OuterLeft) return 9726;
+ else return 9728;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9730;
+ else if (Shape == Shape::InnerLeft) return 9732;
+ else if (Shape == Shape::InnerRight) return 9734;
+ else if (Shape == Shape::OuterLeft) return 9736;
+ else return 9738;
+ else
+ if (Shape == Shape::Straight) return 9740;
+ else if (Shape == Shape::InnerLeft) return 9742;
+ else if (Shape == Shape::InnerRight) return 9744;
+ else if (Shape == Shape::OuterLeft) return 9746;
+ else return 9748;
+ }
+ BlockState PolishedGraniteStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace Poppy
+ {
+ constexpr BlockState Poppy()
+ {
+ return 1413;
+ }
+ }
+ namespace Potatoes
+ {
+ constexpr BlockState Potatoes(const unsigned char Age)
+ {
+ if (Age == 0) return 6338;
+ else if (Age == 1) return 6339;
+ else if (Age == 2) return 6340;
+ else if (Age == 3) return 6341;
+ else if (Age == 4) return 6342;
+ else if (Age == 5) return 6343;
+ else if (Age == 6) return 6344;
+ else return 6345;
+ }
+ BlockState Potatoes();
+ unsigned char Age(BlockState Block);
+ }
+ namespace PottedAcaciaSapling
+ {
+ constexpr BlockState PottedAcaciaSapling()
+ {
+ return 6310;
+ }
+ }
+ namespace PottedAllium
+ {
+ constexpr BlockState PottedAllium()
+ {
+ return 6316;
+ }
+ }
+ namespace PottedAzureBluet
+ {
+ constexpr BlockState PottedAzureBluet()
+ {
+ return 6317;
+ }
+ }
+ namespace PottedBamboo
+ {
+ constexpr BlockState PottedBamboo()
+ {
+ return 9664;
+ }
+ }
+ namespace PottedBirchSapling
+ {
+ constexpr BlockState PottedBirchSapling()
+ {
+ return 6308;
+ }
+ }
+ namespace PottedBlueOrchid
+ {
+ constexpr BlockState PottedBlueOrchid()
+ {
+ return 6315;
+ }
+ }
+ namespace PottedBrownMushroom
+ {
+ constexpr BlockState PottedBrownMushroom()
+ {
+ return 6327;
+ }
+ }
+ namespace PottedCactus
+ {
+ constexpr BlockState PottedCactus()
+ {
+ return 6329;
+ }
+ }
+ namespace PottedCornflower
+ {
+ constexpr BlockState PottedCornflower()
+ {
+ return 6323;
+ }
+ }
+ namespace PottedCrimsonFungus
+ {
+ constexpr BlockState PottedCrimsonFungus()
+ {
+ return 15834;
+ }
+ }
+ namespace PottedCrimsonRoots
+ {
+ constexpr BlockState PottedCrimsonRoots()
+ {
+ return 15836;
+ }
+ }
+ namespace PottedDandelion
+ {
+ constexpr BlockState PottedDandelion()
+ {
+ return 6313;
+ }
+ }
+ namespace PottedDarkOakSapling
+ {
+ constexpr BlockState PottedDarkOakSapling()
+ {
+ return 6311;
+ }
+ }
+ namespace PottedDeadBush
+ {
+ constexpr BlockState PottedDeadBush()
+ {
+ return 6328;
+ }
+ }
+ namespace PottedFern
+ {
+ constexpr BlockState PottedFern()
+ {
+ return 6312;
+ }
+ }
+ namespace PottedJungleSapling
+ {
+ constexpr BlockState PottedJungleSapling()
+ {
+ return 6309;
+ }
+ }
+ namespace PottedLilyOfTheValley
+ {
+ constexpr BlockState PottedLilyOfTheValley()
+ {
+ return 6324;
+ }
+ }
+ namespace PottedOakSapling
+ {
+ constexpr BlockState PottedOakSapling()
+ {
+ return 6306;
+ }
+ }
+ namespace PottedOrangeTulip
+ {
+ constexpr BlockState PottedOrangeTulip()
+ {
+ return 6319;
+ }
+ }
+ namespace PottedOxeyeDaisy
+ {
+ constexpr BlockState PottedOxeyeDaisy()
+ {
+ return 6322;
+ }
+ }
+ namespace PottedPinkTulip
+ {
+ constexpr BlockState PottedPinkTulip()
+ {
+ return 6321;
+ }
+ }
+ namespace PottedPoppy
+ {
+ constexpr BlockState PottedPoppy()
+ {
+ return 6314;
+ }
+ }
+ namespace PottedRedMushroom
+ {
+ constexpr BlockState PottedRedMushroom()
+ {
+ return 6326;
+ }
+ }
+ namespace PottedRedTulip
+ {
+ constexpr BlockState PottedRedTulip()
+ {
+ return 6318;
+ }
+ }
+ namespace PottedSpruceSapling
+ {
+ constexpr BlockState PottedSpruceSapling()
+ {
+ return 6307;
+ }
+ }
+ namespace PottedWarpedFungus
+ {
+ constexpr BlockState PottedWarpedFungus()
+ {
+ return 15835;
+ }
+ }
+ namespace PottedWarpedRoots
+ {
+ constexpr BlockState PottedWarpedRoots()
+ {
+ return 15837;
+ }
+ }
+ namespace PottedWhiteTulip
+ {
+ constexpr BlockState PottedWhiteTulip()
+ {
+ return 6320;
+ }
+ }
+ namespace PottedWitherRose
+ {
+ constexpr BlockState PottedWitherRose()
+ {
+ return 6325;
+ }
+ }
+ namespace PoweredRail
+ {
+ enum class Shape
+ {
+ NorthSouth,
+ EastWest,
+ AscendingEast,
+ AscendingWest,
+ AscendingNorth,
+ AscendingSouth
+ };
+ constexpr BlockState PoweredRail(const bool Powered, const enum Shape Shape)
+ {
+ if (Powered)
+ if (Shape == Shape::NorthSouth) return 1305;
+ else if (Shape == Shape::EastWest) return 1306;
+ else if (Shape == Shape::AscendingEast) return 1307;
+ else if (Shape == Shape::AscendingWest) return 1308;
+ else if (Shape == Shape::AscendingNorth) return 1309;
+ else return 1310;
+ else
+ if (Shape == Shape::NorthSouth) return 1311;
+ else if (Shape == Shape::EastWest) return 1312;
+ else if (Shape == Shape::AscendingEast) return 1313;
+ else if (Shape == Shape::AscendingWest) return 1314;
+ else if (Shape == Shape::AscendingNorth) return 1315;
+ else return 1316;
+ }
+ BlockState PoweredRail();
+ bool Powered(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace Prismarine
+ {
+ constexpr BlockState Prismarine()
+ {
+ return 7601;
+ }
+ }
+ namespace PrismarineBrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PrismarineBrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 7851;
+ else if (Type == Type::Bottom) return 7853;
+ else return 7855;
+ }
+ BlockState PrismarineBrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PrismarineBrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PrismarineBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7685;
+ else if (Shape == Shape::InnerLeft) return 7687;
+ else if (Shape == Shape::InnerRight) return 7689;
+ else if (Shape == Shape::OuterLeft) return 7691;
+ else return 7693;
+ else
+ if (Shape == Shape::Straight) return 7695;
+ else if (Shape == Shape::InnerLeft) return 7697;
+ else if (Shape == Shape::InnerRight) return 7699;
+ else if (Shape == Shape::OuterLeft) return 7701;
+ else return 7703;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7705;
+ else if (Shape == Shape::InnerLeft) return 7707;
+ else if (Shape == Shape::InnerRight) return 7709;
+ else if (Shape == Shape::OuterLeft) return 7711;
+ else return 7713;
+ else
+ if (Shape == Shape::Straight) return 7715;
+ else if (Shape == Shape::InnerLeft) return 7717;
+ else if (Shape == Shape::InnerRight) return 7719;
+ else if (Shape == Shape::OuterLeft) return 7721;
+ else return 7723;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7725;
+ else if (Shape == Shape::InnerLeft) return 7727;
+ else if (Shape == Shape::InnerRight) return 7729;
+ else if (Shape == Shape::OuterLeft) return 7731;
+ else return 7733;
+ else
+ if (Shape == Shape::Straight) return 7735;
+ else if (Shape == Shape::InnerLeft) return 7737;
+ else if (Shape == Shape::InnerRight) return 7739;
+ else if (Shape == Shape::OuterLeft) return 7741;
+ else return 7743;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7745;
+ else if (Shape == Shape::InnerLeft) return 7747;
+ else if (Shape == Shape::InnerRight) return 7749;
+ else if (Shape == Shape::OuterLeft) return 7751;
+ else return 7753;
+ else
+ if (Shape == Shape::Straight) return 7755;
+ else if (Shape == Shape::InnerLeft) return 7757;
+ else if (Shape == Shape::InnerRight) return 7759;
+ else if (Shape == Shape::OuterLeft) return 7761;
+ else return 7763;
+ }
+ BlockState PrismarineBrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace PrismarineBricks
+ {
+ constexpr BlockState PrismarineBricks()
+ {
+ return 7602;
+ }
+ }
+ namespace PrismarineSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PrismarineSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 7845;
+ else if (Type == Type::Bottom) return 7847;
+ else return 7849;
+ }
+ BlockState PrismarineSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PrismarineStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PrismarineStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7605;
+ else if (Shape == Shape::InnerLeft) return 7607;
+ else if (Shape == Shape::InnerRight) return 7609;
+ else if (Shape == Shape::OuterLeft) return 7611;
+ else return 7613;
+ else
+ if (Shape == Shape::Straight) return 7615;
+ else if (Shape == Shape::InnerLeft) return 7617;
+ else if (Shape == Shape::InnerRight) return 7619;
+ else if (Shape == Shape::OuterLeft) return 7621;
+ else return 7623;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7625;
+ else if (Shape == Shape::InnerLeft) return 7627;
+ else if (Shape == Shape::InnerRight) return 7629;
+ else if (Shape == Shape::OuterLeft) return 7631;
+ else return 7633;
+ else
+ if (Shape == Shape::Straight) return 7635;
+ else if (Shape == Shape::InnerLeft) return 7637;
+ else if (Shape == Shape::InnerRight) return 7639;
+ else if (Shape == Shape::OuterLeft) return 7641;
+ else return 7643;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7645;
+ else if (Shape == Shape::InnerLeft) return 7647;
+ else if (Shape == Shape::InnerRight) return 7649;
+ else if (Shape == Shape::OuterLeft) return 7651;
+ else return 7653;
+ else
+ if (Shape == Shape::Straight) return 7655;
+ else if (Shape == Shape::InnerLeft) return 7657;
+ else if (Shape == Shape::InnerRight) return 7659;
+ else if (Shape == Shape::OuterLeft) return 7661;
+ else return 7663;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 7665;
+ else if (Shape == Shape::InnerLeft) return 7667;
+ else if (Shape == Shape::InnerRight) return 7669;
+ else if (Shape == Shape::OuterLeft) return 7671;
+ else return 7673;
+ else
+ if (Shape == Shape::Straight) return 7675;
+ else if (Shape == Shape::InnerLeft) return 7677;
+ else if (Shape == Shape::InnerRight) return 7679;
+ else if (Shape == Shape::OuterLeft) return 7681;
+ else return 7683;
+ }
+ BlockState PrismarineStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace PrismarineWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState PrismarineWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11194;
+ else if (West == West::Low) return 11195;
+ else return 11196;
+ else
+ if (West == West::None) return 11200;
+ else if (West == West::Low) return 11201;
+ else return 11202;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11206;
+ else if (West == West::Low) return 11207;
+ else return 11208;
+ else
+ if (West == West::None) return 11212;
+ else if (West == West::Low) return 11213;
+ else return 11214;
+ else
+ if (Up)
+ if (West == West::None) return 11218;
+ else if (West == West::Low) return 11219;
+ else return 11220;
+ else
+ if (West == West::None) return 11224;
+ else if (West == West::Low) return 11225;
+ else return 11226;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11230;
+ else if (West == West::Low) return 11231;
+ else return 11232;
+ else
+ if (West == West::None) return 11236;
+ else if (West == West::Low) return 11237;
+ else return 11238;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11242;
+ else if (West == West::Low) return 11243;
+ else return 11244;
+ else
+ if (West == West::None) return 11248;
+ else if (West == West::Low) return 11249;
+ else return 11250;
+ else
+ if (Up)
+ if (West == West::None) return 11254;
+ else if (West == West::Low) return 11255;
+ else return 11256;
+ else
+ if (West == West::None) return 11260;
+ else if (West == West::Low) return 11261;
+ else return 11262;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11266;
+ else if (West == West::Low) return 11267;
+ else return 11268;
+ else
+ if (West == West::None) return 11272;
+ else if (West == West::Low) return 11273;
+ else return 11274;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11278;
+ else if (West == West::Low) return 11279;
+ else return 11280;
+ else
+ if (West == West::None) return 11284;
+ else if (West == West::Low) return 11285;
+ else return 11286;
+ else
+ if (Up)
+ if (West == West::None) return 11290;
+ else if (West == West::Low) return 11291;
+ else return 11292;
+ else
+ if (West == West::None) return 11296;
+ else if (West == West::Low) return 11297;
+ else return 11298;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11302;
+ else if (West == West::Low) return 11303;
+ else return 11304;
+ else
+ if (West == West::None) return 11308;
+ else if (West == West::Low) return 11309;
+ else return 11310;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11314;
+ else if (West == West::Low) return 11315;
+ else return 11316;
+ else
+ if (West == West::None) return 11320;
+ else if (West == West::Low) return 11321;
+ else return 11322;
+ else
+ if (Up)
+ if (West == West::None) return 11326;
+ else if (West == West::Low) return 11327;
+ else return 11328;
+ else
+ if (West == West::None) return 11332;
+ else if (West == West::Low) return 11333;
+ else return 11334;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11338;
+ else if (West == West::Low) return 11339;
+ else return 11340;
+ else
+ if (West == West::None) return 11344;
+ else if (West == West::Low) return 11345;
+ else return 11346;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11350;
+ else if (West == West::Low) return 11351;
+ else return 11352;
+ else
+ if (West == West::None) return 11356;
+ else if (West == West::Low) return 11357;
+ else return 11358;
+ else
+ if (Up)
+ if (West == West::None) return 11362;
+ else if (West == West::Low) return 11363;
+ else return 11364;
+ else
+ if (West == West::None) return 11368;
+ else if (West == West::Low) return 11369;
+ else return 11370;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11374;
+ else if (West == West::Low) return 11375;
+ else return 11376;
+ else
+ if (West == West::None) return 11380;
+ else if (West == West::Low) return 11381;
+ else return 11382;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11386;
+ else if (West == West::Low) return 11387;
+ else return 11388;
+ else
+ if (West == West::None) return 11392;
+ else if (West == West::Low) return 11393;
+ else return 11394;
+ else
+ if (Up)
+ if (West == West::None) return 11398;
+ else if (West == West::Low) return 11399;
+ else return 11400;
+ else
+ if (West == West::None) return 11404;
+ else if (West == West::Low) return 11405;
+ else return 11406;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11410;
+ else if (West == West::Low) return 11411;
+ else return 11412;
+ else
+ if (West == West::None) return 11416;
+ else if (West == West::Low) return 11417;
+ else return 11418;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11422;
+ else if (West == West::Low) return 11423;
+ else return 11424;
+ else
+ if (West == West::None) return 11428;
+ else if (West == West::Low) return 11429;
+ else return 11430;
+ else
+ if (Up)
+ if (West == West::None) return 11434;
+ else if (West == West::Low) return 11435;
+ else return 11436;
+ else
+ if (West == West::None) return 11440;
+ else if (West == West::Low) return 11441;
+ else return 11442;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11446;
+ else if (West == West::Low) return 11447;
+ else return 11448;
+ else
+ if (West == West::None) return 11452;
+ else if (West == West::Low) return 11453;
+ else return 11454;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11458;
+ else if (West == West::Low) return 11459;
+ else return 11460;
+ else
+ if (West == West::None) return 11464;
+ else if (West == West::Low) return 11465;
+ else return 11466;
+ else
+ if (Up)
+ if (West == West::None) return 11470;
+ else if (West == West::Low) return 11471;
+ else return 11472;
+ else
+ if (West == West::None) return 11476;
+ else if (West == West::Low) return 11477;
+ else return 11478;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11482;
+ else if (West == West::Low) return 11483;
+ else return 11484;
+ else
+ if (West == West::None) return 11488;
+ else if (West == West::Low) return 11489;
+ else return 11490;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11494;
+ else if (West == West::Low) return 11495;
+ else return 11496;
+ else
+ if (West == West::None) return 11500;
+ else if (West == West::Low) return 11501;
+ else return 11502;
+ else
+ if (Up)
+ if (West == West::None) return 11506;
+ else if (West == West::Low) return 11507;
+ else return 11508;
+ else
+ if (West == West::None) return 11512;
+ else if (West == West::Low) return 11513;
+ else return 11514;
+ }
+ BlockState PrismarineWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Pumpkin
+ {
+ constexpr BlockState Pumpkin()
+ {
+ return 3998;
+ }
+ }
+ namespace PumpkinStem
+ {
+ constexpr BlockState PumpkinStem(const unsigned char Age)
+ {
+ if (Age == 0) return 4772;
+ else if (Age == 1) return 4773;
+ else if (Age == 2) return 4774;
+ else if (Age == 3) return 4775;
+ else if (Age == 4) return 4776;
+ else if (Age == 5) return 4777;
+ else if (Age == 6) return 4778;
+ else return 4779;
+ }
+ BlockState PumpkinStem();
+ unsigned char Age(BlockState Block);
+ }
+ namespace PurpleBanner
+ {
+ constexpr BlockState PurpleBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8057;
+ else if (Rotation == 1) return 8058;
+ else if (Rotation == 2) return 8059;
+ else if (Rotation == 3) return 8060;
+ else if (Rotation == 4) return 8061;
+ else if (Rotation == 5) return 8062;
+ else if (Rotation == 6) return 8063;
+ else if (Rotation == 7) return 8064;
+ else if (Rotation == 8) return 8065;
+ else if (Rotation == 9) return 8066;
+ else if (Rotation == 10) return 8067;
+ else if (Rotation == 11) return 8068;
+ else if (Rotation == 12) return 8069;
+ else if (Rotation == 13) return 8070;
+ else if (Rotation == 14) return 8071;
+ else return 8072;
+ }
+ BlockState PurpleBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace PurpleBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState PurpleBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1209;
+ else return 1210;
+ else
+ if (Part == Part::Head) return 1211;
+ else return 1212;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1213;
+ else return 1214;
+ else
+ if (Part == Part::Head) return 1215;
+ else return 1216;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1217;
+ else return 1218;
+ else
+ if (Part == Part::Head) return 1219;
+ else return 1220;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1221;
+ else return 1222;
+ else
+ if (Part == Part::Head) return 1223;
+ else return 1224;
+ }
+ BlockState PurpleBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace PurpleCarpet
+ {
+ constexpr BlockState PurpleCarpet()
+ {
+ return 7876;
+ }
+ }
+ namespace PurpleConcrete
+ {
+ constexpr BlockState PurpleConcrete()
+ {
+ return 9448;
+ }
+ }
+ namespace PurpleConcretePowder
+ {
+ constexpr BlockState PurpleConcretePowder()
+ {
+ return 9464;
+ }
+ }
+ namespace PurpleGlazedTerracotta
+ {
+ constexpr BlockState PurpleGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9414;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9415;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9416;
+ else return 9417;
+ }
+ BlockState PurpleGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace PurpleShulkerBox
+ {
+ constexpr BlockState PurpleShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9338;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9339;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9340;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9341;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9342;
+ else return 9343;
+ }
+ BlockState PurpleShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace PurpleStainedGlass
+ {
+ constexpr BlockState PurpleStainedGlass()
+ {
+ return 4105;
+ }
+ }
+ namespace PurpleStainedGlassPane
+ {
+ constexpr BlockState PurpleStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7185;
+ else return 7186;
+ else
+ if (West) return 7189;
+ else return 7190;
+ else
+ if (South)
+ if (West) return 7193;
+ else return 7194;
+ else
+ if (West) return 7197;
+ else return 7198;
+ else
+ if (North)
+ if (South)
+ if (West) return 7201;
+ else return 7202;
+ else
+ if (West) return 7205;
+ else return 7206;
+ else
+ if (South)
+ if (West) return 7209;
+ else return 7210;
+ else
+ if (West) return 7213;
+ else return 7214;
+ }
+ BlockState PurpleStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace PurpleTerracotta
+ {
+ constexpr BlockState PurpleTerracotta()
+ {
+ return 6857;
+ }
+ }
+ namespace PurpleWallBanner
+ {
+ constexpr BlockState PurpleWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8193;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8194;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8195;
+ else return 8196;
+ }
+ BlockState PurpleWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace PurpleWool
+ {
+ constexpr BlockState PurpleWool()
+ {
+ return 1394;
+ }
+ }
+ namespace PurpurBlock
+ {
+ constexpr BlockState PurpurBlock()
+ {
+ return 9134;
+ }
+ }
+ namespace PurpurPillar
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState PurpurPillar(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 9135;
+ else if (Axis == Axis::Y) return 9136;
+ else return 9137;
+ }
+ BlockState PurpurPillar();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace PurpurSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState PurpurSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8409;
+ else if (Type == Type::Bottom) return 8411;
+ else return 8413;
+ }
+ BlockState PurpurSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace PurpurStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState PurpurStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9139;
+ else if (Shape == Shape::InnerLeft) return 9141;
+ else if (Shape == Shape::InnerRight) return 9143;
+ else if (Shape == Shape::OuterLeft) return 9145;
+ else return 9147;
+ else
+ if (Shape == Shape::Straight) return 9149;
+ else if (Shape == Shape::InnerLeft) return 9151;
+ else if (Shape == Shape::InnerRight) return 9153;
+ else if (Shape == Shape::OuterLeft) return 9155;
+ else return 9157;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9159;
+ else if (Shape == Shape::InnerLeft) return 9161;
+ else if (Shape == Shape::InnerRight) return 9163;
+ else if (Shape == Shape::OuterLeft) return 9165;
+ else return 9167;
+ else
+ if (Shape == Shape::Straight) return 9169;
+ else if (Shape == Shape::InnerLeft) return 9171;
+ else if (Shape == Shape::InnerRight) return 9173;
+ else if (Shape == Shape::OuterLeft) return 9175;
+ else return 9177;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9179;
+ else if (Shape == Shape::InnerLeft) return 9181;
+ else if (Shape == Shape::InnerRight) return 9183;
+ else if (Shape == Shape::OuterLeft) return 9185;
+ else return 9187;
+ else
+ if (Shape == Shape::Straight) return 9189;
+ else if (Shape == Shape::InnerLeft) return 9191;
+ else if (Shape == Shape::InnerRight) return 9193;
+ else if (Shape == Shape::OuterLeft) return 9195;
+ else return 9197;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9199;
+ else if (Shape == Shape::InnerLeft) return 9201;
+ else if (Shape == Shape::InnerRight) return 9203;
+ else if (Shape == Shape::OuterLeft) return 9205;
+ else return 9207;
+ else
+ if (Shape == Shape::Straight) return 9209;
+ else if (Shape == Shape::InnerLeft) return 9211;
+ else if (Shape == Shape::InnerRight) return 9213;
+ else if (Shape == Shape::OuterLeft) return 9215;
+ else return 9217;
+ }
+ BlockState PurpurStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace QuartzBlock
+ {
+ constexpr BlockState QuartzBlock()
+ {
+ return 6738;
+ }
+ }
+ namespace QuartzBricks
+ {
+ constexpr BlockState QuartzBricks()
+ {
+ return 17103;
+ }
+ }
+ namespace QuartzPillar
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState QuartzPillar(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 6740;
+ else if (Axis == Axis::Y) return 6741;
+ else return 6742;
+ }
+ BlockState QuartzPillar();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace QuartzSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState QuartzSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8391;
+ else if (Type == Type::Bottom) return 8393;
+ else return 8395;
+ }
+ BlockState QuartzSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace QuartzStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState QuartzStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 6744;
+ else if (Shape == Shape::InnerLeft) return 6746;
+ else if (Shape == Shape::InnerRight) return 6748;
+ else if (Shape == Shape::OuterLeft) return 6750;
+ else return 6752;
+ else
+ if (Shape == Shape::Straight) return 6754;
+ else if (Shape == Shape::InnerLeft) return 6756;
+ else if (Shape == Shape::InnerRight) return 6758;
+ else if (Shape == Shape::OuterLeft) return 6760;
+ else return 6762;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 6764;
+ else if (Shape == Shape::InnerLeft) return 6766;
+ else if (Shape == Shape::InnerRight) return 6768;
+ else if (Shape == Shape::OuterLeft) return 6770;
+ else return 6772;
+ else
+ if (Shape == Shape::Straight) return 6774;
+ else if (Shape == Shape::InnerLeft) return 6776;
+ else if (Shape == Shape::InnerRight) return 6778;
+ else if (Shape == Shape::OuterLeft) return 6780;
+ else return 6782;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 6784;
+ else if (Shape == Shape::InnerLeft) return 6786;
+ else if (Shape == Shape::InnerRight) return 6788;
+ else if (Shape == Shape::OuterLeft) return 6790;
+ else return 6792;
+ else
+ if (Shape == Shape::Straight) return 6794;
+ else if (Shape == Shape::InnerLeft) return 6796;
+ else if (Shape == Shape::InnerRight) return 6798;
+ else if (Shape == Shape::OuterLeft) return 6800;
+ else return 6802;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 6804;
+ else if (Shape == Shape::InnerLeft) return 6806;
+ else if (Shape == Shape::InnerRight) return 6808;
+ else if (Shape == Shape::OuterLeft) return 6810;
+ else return 6812;
+ else
+ if (Shape == Shape::Straight) return 6814;
+ else if (Shape == Shape::InnerLeft) return 6816;
+ else if (Shape == Shape::InnerRight) return 6818;
+ else if (Shape == Shape::OuterLeft) return 6820;
+ else return 6822;
+ }
+ BlockState QuartzStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace Rail
+ {
+ enum class Shape
+ {
+ NorthSouth,
+ EastWest,
+ AscendingEast,
+ AscendingWest,
+ AscendingNorth,
+ AscendingSouth,
+ SouthEast,
+ SouthWest,
+ NorthWest,
+ NorthEast
+ };
+ constexpr BlockState Rail(const enum Shape Shape)
+ {
+ if (Shape == Shape::NorthSouth) return 3645;
+ else if (Shape == Shape::EastWest) return 3646;
+ else if (Shape == Shape::AscendingEast) return 3647;
+ else if (Shape == Shape::AscendingWest) return 3648;
+ else if (Shape == Shape::AscendingNorth) return 3649;
+ else if (Shape == Shape::AscendingSouth) return 3650;
+ else if (Shape == Shape::SouthEast) return 3651;
+ else if (Shape == Shape::SouthWest) return 3652;
+ else if (Shape == Shape::NorthWest) return 3653;
+ else return 3654;
+ }
+ BlockState Rail();
+ enum Shape Shape(BlockState Block);
+ }
+ namespace RedBanner
+ {
+ constexpr BlockState RedBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 8121;
+ else if (Rotation == 1) return 8122;
+ else if (Rotation == 2) return 8123;
+ else if (Rotation == 3) return 8124;
+ else if (Rotation == 4) return 8125;
+ else if (Rotation == 5) return 8126;
+ else if (Rotation == 6) return 8127;
+ else if (Rotation == 7) return 8128;
+ else if (Rotation == 8) return 8129;
+ else if (Rotation == 9) return 8130;
+ else if (Rotation == 10) return 8131;
+ else if (Rotation == 11) return 8132;
+ else if (Rotation == 12) return 8133;
+ else if (Rotation == 13) return 8134;
+ else if (Rotation == 14) return 8135;
+ else return 8136;
+ }
+ BlockState RedBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace RedBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState RedBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1273;
+ else return 1274;
+ else
+ if (Part == Part::Head) return 1275;
+ else return 1276;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1277;
+ else return 1278;
+ else
+ if (Part == Part::Head) return 1279;
+ else return 1280;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1281;
+ else return 1282;
+ else
+ if (Part == Part::Head) return 1283;
+ else return 1284;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1285;
+ else return 1286;
+ else
+ if (Part == Part::Head) return 1287;
+ else return 1288;
+ }
+ BlockState RedBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace RedCarpet
+ {
+ constexpr BlockState RedCarpet()
+ {
+ return 7880;
+ }
+ }
+ namespace RedConcrete
+ {
+ constexpr BlockState RedConcrete()
+ {
+ return 9452;
+ }
+ }
+ namespace RedConcretePowder
+ {
+ constexpr BlockState RedConcretePowder()
+ {
+ return 9468;
+ }
+ }
+ namespace RedGlazedTerracotta
+ {
+ constexpr BlockState RedGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9430;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9431;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9432;
+ else return 9433;
+ }
+ BlockState RedGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace RedMushroom
+ {
+ constexpr BlockState RedMushroom()
+ {
+ return 1426;
+ }
+ }
+ namespace RedMushroomBlock
+ {
+ constexpr BlockState RedMushroomBlock(const bool Down, const bool East, const bool North, const bool South, const bool Up, const bool West)
+ {
+ if (Down)
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4569;
+ else return 4570;
+ else
+ if (West) return 4571;
+ else return 4572;
+ else
+ if (Up)
+ if (West) return 4573;
+ else return 4574;
+ else
+ if (West) return 4575;
+ else return 4576;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4577;
+ else return 4578;
+ else
+ if (West) return 4579;
+ else return 4580;
+ else
+ if (Up)
+ if (West) return 4581;
+ else return 4582;
+ else
+ if (West) return 4583;
+ else return 4584;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4585;
+ else return 4586;
+ else
+ if (West) return 4587;
+ else return 4588;
+ else
+ if (Up)
+ if (West) return 4589;
+ else return 4590;
+ else
+ if (West) return 4591;
+ else return 4592;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4593;
+ else return 4594;
+ else
+ if (West) return 4595;
+ else return 4596;
+ else
+ if (Up)
+ if (West) return 4597;
+ else return 4598;
+ else
+ if (West) return 4599;
+ else return 4600;
+ else
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4601;
+ else return 4602;
+ else
+ if (West) return 4603;
+ else return 4604;
+ else
+ if (Up)
+ if (West) return 4605;
+ else return 4606;
+ else
+ if (West) return 4607;
+ else return 4608;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4609;
+ else return 4610;
+ else
+ if (West) return 4611;
+ else return 4612;
+ else
+ if (Up)
+ if (West) return 4613;
+ else return 4614;
+ else
+ if (West) return 4615;
+ else return 4616;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4617;
+ else return 4618;
+ else
+ if (West) return 4619;
+ else return 4620;
+ else
+ if (Up)
+ if (West) return 4621;
+ else return 4622;
+ else
+ if (West) return 4623;
+ else return 4624;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4625;
+ else return 4626;
+ else
+ if (West) return 4627;
+ else return 4628;
+ else
+ if (Up)
+ if (West) return 4629;
+ else return 4630;
+ else
+ if (West) return 4631;
+ else return 4632;
+ }
+ BlockState RedMushroomBlock();
+ bool Down(BlockState Block);
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool Up(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace RedNetherBrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState RedNetherBrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10850;
+ else if (Type == Type::Bottom) return 10852;
+ else return 10854;
+ }
+ BlockState RedNetherBrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace RedNetherBrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState RedNetherBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10550;
+ else if (Shape == Shape::InnerLeft) return 10552;
+ else if (Shape == Shape::InnerRight) return 10554;
+ else if (Shape == Shape::OuterLeft) return 10556;
+ else return 10558;
+ else
+ if (Shape == Shape::Straight) return 10560;
+ else if (Shape == Shape::InnerLeft) return 10562;
+ else if (Shape == Shape::InnerRight) return 10564;
+ else if (Shape == Shape::OuterLeft) return 10566;
+ else return 10568;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10570;
+ else if (Shape == Shape::InnerLeft) return 10572;
+ else if (Shape == Shape::InnerRight) return 10574;
+ else if (Shape == Shape::OuterLeft) return 10576;
+ else return 10578;
+ else
+ if (Shape == Shape::Straight) return 10580;
+ else if (Shape == Shape::InnerLeft) return 10582;
+ else if (Shape == Shape::InnerRight) return 10584;
+ else if (Shape == Shape::OuterLeft) return 10586;
+ else return 10588;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10590;
+ else if (Shape == Shape::InnerLeft) return 10592;
+ else if (Shape == Shape::InnerRight) return 10594;
+ else if (Shape == Shape::OuterLeft) return 10596;
+ else return 10598;
+ else
+ if (Shape == Shape::Straight) return 10600;
+ else if (Shape == Shape::InnerLeft) return 10602;
+ else if (Shape == Shape::InnerRight) return 10604;
+ else if (Shape == Shape::OuterLeft) return 10606;
+ else return 10608;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10610;
+ else if (Shape == Shape::InnerLeft) return 10612;
+ else if (Shape == Shape::InnerRight) return 10614;
+ else if (Shape == Shape::OuterLeft) return 10616;
+ else return 10618;
+ else
+ if (Shape == Shape::Straight) return 10620;
+ else if (Shape == Shape::InnerLeft) return 10622;
+ else if (Shape == Shape::InnerRight) return 10624;
+ else if (Shape == Shape::OuterLeft) return 10626;
+ else return 10628;
+ }
+ BlockState RedNetherBrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace RedNetherBrickWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState RedNetherBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13462;
+ else if (West == West::Low) return 13463;
+ else return 13464;
+ else
+ if (West == West::None) return 13468;
+ else if (West == West::Low) return 13469;
+ else return 13470;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13474;
+ else if (West == West::Low) return 13475;
+ else return 13476;
+ else
+ if (West == West::None) return 13480;
+ else if (West == West::Low) return 13481;
+ else return 13482;
+ else
+ if (Up)
+ if (West == West::None) return 13486;
+ else if (West == West::Low) return 13487;
+ else return 13488;
+ else
+ if (West == West::None) return 13492;
+ else if (West == West::Low) return 13493;
+ else return 13494;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13498;
+ else if (West == West::Low) return 13499;
+ else return 13500;
+ else
+ if (West == West::None) return 13504;
+ else if (West == West::Low) return 13505;
+ else return 13506;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13510;
+ else if (West == West::Low) return 13511;
+ else return 13512;
+ else
+ if (West == West::None) return 13516;
+ else if (West == West::Low) return 13517;
+ else return 13518;
+ else
+ if (Up)
+ if (West == West::None) return 13522;
+ else if (West == West::Low) return 13523;
+ else return 13524;
+ else
+ if (West == West::None) return 13528;
+ else if (West == West::Low) return 13529;
+ else return 13530;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13534;
+ else if (West == West::Low) return 13535;
+ else return 13536;
+ else
+ if (West == West::None) return 13540;
+ else if (West == West::Low) return 13541;
+ else return 13542;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13546;
+ else if (West == West::Low) return 13547;
+ else return 13548;
+ else
+ if (West == West::None) return 13552;
+ else if (West == West::Low) return 13553;
+ else return 13554;
+ else
+ if (Up)
+ if (West == West::None) return 13558;
+ else if (West == West::Low) return 13559;
+ else return 13560;
+ else
+ if (West == West::None) return 13564;
+ else if (West == West::Low) return 13565;
+ else return 13566;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13570;
+ else if (West == West::Low) return 13571;
+ else return 13572;
+ else
+ if (West == West::None) return 13576;
+ else if (West == West::Low) return 13577;
+ else return 13578;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13582;
+ else if (West == West::Low) return 13583;
+ else return 13584;
+ else
+ if (West == West::None) return 13588;
+ else if (West == West::Low) return 13589;
+ else return 13590;
+ else
+ if (Up)
+ if (West == West::None) return 13594;
+ else if (West == West::Low) return 13595;
+ else return 13596;
+ else
+ if (West == West::None) return 13600;
+ else if (West == West::Low) return 13601;
+ else return 13602;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13606;
+ else if (West == West::Low) return 13607;
+ else return 13608;
+ else
+ if (West == West::None) return 13612;
+ else if (West == West::Low) return 13613;
+ else return 13614;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13618;
+ else if (West == West::Low) return 13619;
+ else return 13620;
+ else
+ if (West == West::None) return 13624;
+ else if (West == West::Low) return 13625;
+ else return 13626;
+ else
+ if (Up)
+ if (West == West::None) return 13630;
+ else if (West == West::Low) return 13631;
+ else return 13632;
+ else
+ if (West == West::None) return 13636;
+ else if (West == West::Low) return 13637;
+ else return 13638;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13642;
+ else if (West == West::Low) return 13643;
+ else return 13644;
+ else
+ if (West == West::None) return 13648;
+ else if (West == West::Low) return 13649;
+ else return 13650;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13654;
+ else if (West == West::Low) return 13655;
+ else return 13656;
+ else
+ if (West == West::None) return 13660;
+ else if (West == West::Low) return 13661;
+ else return 13662;
+ else
+ if (Up)
+ if (West == West::None) return 13666;
+ else if (West == West::Low) return 13667;
+ else return 13668;
+ else
+ if (West == West::None) return 13672;
+ else if (West == West::Low) return 13673;
+ else return 13674;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13678;
+ else if (West == West::Low) return 13679;
+ else return 13680;
+ else
+ if (West == West::None) return 13684;
+ else if (West == West::Low) return 13685;
+ else return 13686;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13690;
+ else if (West == West::Low) return 13691;
+ else return 13692;
+ else
+ if (West == West::None) return 13696;
+ else if (West == West::Low) return 13697;
+ else return 13698;
+ else
+ if (Up)
+ if (West == West::None) return 13702;
+ else if (West == West::Low) return 13703;
+ else return 13704;
+ else
+ if (West == West::None) return 13708;
+ else if (West == West::Low) return 13709;
+ else return 13710;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13714;
+ else if (West == West::Low) return 13715;
+ else return 13716;
+ else
+ if (West == West::None) return 13720;
+ else if (West == West::Low) return 13721;
+ else return 13722;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13726;
+ else if (West == West::Low) return 13727;
+ else return 13728;
+ else
+ if (West == West::None) return 13732;
+ else if (West == West::Low) return 13733;
+ else return 13734;
+ else
+ if (Up)
+ if (West == West::None) return 13738;
+ else if (West == West::Low) return 13739;
+ else return 13740;
+ else
+ if (West == West::None) return 13744;
+ else if (West == West::Low) return 13745;
+ else return 13746;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13750;
+ else if (West == West::Low) return 13751;
+ else return 13752;
+ else
+ if (West == West::None) return 13756;
+ else if (West == West::Low) return 13757;
+ else return 13758;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13762;
+ else if (West == West::Low) return 13763;
+ else return 13764;
+ else
+ if (West == West::None) return 13768;
+ else if (West == West::Low) return 13769;
+ else return 13770;
+ else
+ if (Up)
+ if (West == West::None) return 13774;
+ else if (West == West::Low) return 13775;
+ else return 13776;
+ else
+ if (West == West::None) return 13780;
+ else if (West == West::Low) return 13781;
+ else return 13782;
+ }
+ BlockState RedNetherBrickWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace RedNetherBricks
+ {
+ constexpr BlockState RedNetherBricks()
+ {
+ return 9255;
+ }
+ }
+ namespace RedSand
+ {
+ constexpr BlockState RedSand()
+ {
+ return 67;
+ }
+ }
+ namespace RedSandstone
+ {
+ constexpr BlockState RedSandstone()
+ {
+ return 8217;
+ }
+ }
+ namespace RedSandstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState RedSandstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8397;
+ else if (Type == Type::Bottom) return 8399;
+ else return 8401;
+ }
+ BlockState RedSandstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace RedSandstoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState RedSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 8221;
+ else if (Shape == Shape::InnerLeft) return 8223;
+ else if (Shape == Shape::InnerRight) return 8225;
+ else if (Shape == Shape::OuterLeft) return 8227;
+ else return 8229;
+ else
+ if (Shape == Shape::Straight) return 8231;
+ else if (Shape == Shape::InnerLeft) return 8233;
+ else if (Shape == Shape::InnerRight) return 8235;
+ else if (Shape == Shape::OuterLeft) return 8237;
+ else return 8239;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 8241;
+ else if (Shape == Shape::InnerLeft) return 8243;
+ else if (Shape == Shape::InnerRight) return 8245;
+ else if (Shape == Shape::OuterLeft) return 8247;
+ else return 8249;
+ else
+ if (Shape == Shape::Straight) return 8251;
+ else if (Shape == Shape::InnerLeft) return 8253;
+ else if (Shape == Shape::InnerRight) return 8255;
+ else if (Shape == Shape::OuterLeft) return 8257;
+ else return 8259;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 8261;
+ else if (Shape == Shape::InnerLeft) return 8263;
+ else if (Shape == Shape::InnerRight) return 8265;
+ else if (Shape == Shape::OuterLeft) return 8267;
+ else return 8269;
+ else
+ if (Shape == Shape::Straight) return 8271;
+ else if (Shape == Shape::InnerLeft) return 8273;
+ else if (Shape == Shape::InnerRight) return 8275;
+ else if (Shape == Shape::OuterLeft) return 8277;
+ else return 8279;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 8281;
+ else if (Shape == Shape::InnerLeft) return 8283;
+ else if (Shape == Shape::InnerRight) return 8285;
+ else if (Shape == Shape::OuterLeft) return 8287;
+ else return 8289;
+ else
+ if (Shape == Shape::Straight) return 8291;
+ else if (Shape == Shape::InnerLeft) return 8293;
+ else if (Shape == Shape::InnerRight) return 8295;
+ else if (Shape == Shape::OuterLeft) return 8297;
+ else return 8299;
+ }
+ BlockState RedSandstoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace RedSandstoneWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState RedSandstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11518;
+ else if (West == West::Low) return 11519;
+ else return 11520;
+ else
+ if (West == West::None) return 11524;
+ else if (West == West::Low) return 11525;
+ else return 11526;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11530;
+ else if (West == West::Low) return 11531;
+ else return 11532;
+ else
+ if (West == West::None) return 11536;
+ else if (West == West::Low) return 11537;
+ else return 11538;
+ else
+ if (Up)
+ if (West == West::None) return 11542;
+ else if (West == West::Low) return 11543;
+ else return 11544;
+ else
+ if (West == West::None) return 11548;
+ else if (West == West::Low) return 11549;
+ else return 11550;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11554;
+ else if (West == West::Low) return 11555;
+ else return 11556;
+ else
+ if (West == West::None) return 11560;
+ else if (West == West::Low) return 11561;
+ else return 11562;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11566;
+ else if (West == West::Low) return 11567;
+ else return 11568;
+ else
+ if (West == West::None) return 11572;
+ else if (West == West::Low) return 11573;
+ else return 11574;
+ else
+ if (Up)
+ if (West == West::None) return 11578;
+ else if (West == West::Low) return 11579;
+ else return 11580;
+ else
+ if (West == West::None) return 11584;
+ else if (West == West::Low) return 11585;
+ else return 11586;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11590;
+ else if (West == West::Low) return 11591;
+ else return 11592;
+ else
+ if (West == West::None) return 11596;
+ else if (West == West::Low) return 11597;
+ else return 11598;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11602;
+ else if (West == West::Low) return 11603;
+ else return 11604;
+ else
+ if (West == West::None) return 11608;
+ else if (West == West::Low) return 11609;
+ else return 11610;
+ else
+ if (Up)
+ if (West == West::None) return 11614;
+ else if (West == West::Low) return 11615;
+ else return 11616;
+ else
+ if (West == West::None) return 11620;
+ else if (West == West::Low) return 11621;
+ else return 11622;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11626;
+ else if (West == West::Low) return 11627;
+ else return 11628;
+ else
+ if (West == West::None) return 11632;
+ else if (West == West::Low) return 11633;
+ else return 11634;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11638;
+ else if (West == West::Low) return 11639;
+ else return 11640;
+ else
+ if (West == West::None) return 11644;
+ else if (West == West::Low) return 11645;
+ else return 11646;
+ else
+ if (Up)
+ if (West == West::None) return 11650;
+ else if (West == West::Low) return 11651;
+ else return 11652;
+ else
+ if (West == West::None) return 11656;
+ else if (West == West::Low) return 11657;
+ else return 11658;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11662;
+ else if (West == West::Low) return 11663;
+ else return 11664;
+ else
+ if (West == West::None) return 11668;
+ else if (West == West::Low) return 11669;
+ else return 11670;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11674;
+ else if (West == West::Low) return 11675;
+ else return 11676;
+ else
+ if (West == West::None) return 11680;
+ else if (West == West::Low) return 11681;
+ else return 11682;
+ else
+ if (Up)
+ if (West == West::None) return 11686;
+ else if (West == West::Low) return 11687;
+ else return 11688;
+ else
+ if (West == West::None) return 11692;
+ else if (West == West::Low) return 11693;
+ else return 11694;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11698;
+ else if (West == West::Low) return 11699;
+ else return 11700;
+ else
+ if (West == West::None) return 11704;
+ else if (West == West::Low) return 11705;
+ else return 11706;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11710;
+ else if (West == West::Low) return 11711;
+ else return 11712;
+ else
+ if (West == West::None) return 11716;
+ else if (West == West::Low) return 11717;
+ else return 11718;
+ else
+ if (Up)
+ if (West == West::None) return 11722;
+ else if (West == West::Low) return 11723;
+ else return 11724;
+ else
+ if (West == West::None) return 11728;
+ else if (West == West::Low) return 11729;
+ else return 11730;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11734;
+ else if (West == West::Low) return 11735;
+ else return 11736;
+ else
+ if (West == West::None) return 11740;
+ else if (West == West::Low) return 11741;
+ else return 11742;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11746;
+ else if (West == West::Low) return 11747;
+ else return 11748;
+ else
+ if (West == West::None) return 11752;
+ else if (West == West::Low) return 11753;
+ else return 11754;
+ else
+ if (Up)
+ if (West == West::None) return 11758;
+ else if (West == West::Low) return 11759;
+ else return 11760;
+ else
+ if (West == West::None) return 11764;
+ else if (West == West::Low) return 11765;
+ else return 11766;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11770;
+ else if (West == West::Low) return 11771;
+ else return 11772;
+ else
+ if (West == West::None) return 11776;
+ else if (West == West::Low) return 11777;
+ else return 11778;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11782;
+ else if (West == West::Low) return 11783;
+ else return 11784;
+ else
+ if (West == West::None) return 11788;
+ else if (West == West::Low) return 11789;
+ else return 11790;
+ else
+ if (Up)
+ if (West == West::None) return 11794;
+ else if (West == West::Low) return 11795;
+ else return 11796;
+ else
+ if (West == West::None) return 11800;
+ else if (West == West::Low) return 11801;
+ else return 11802;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 11806;
+ else if (West == West::Low) return 11807;
+ else return 11808;
+ else
+ if (West == West::None) return 11812;
+ else if (West == West::Low) return 11813;
+ else return 11814;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 11818;
+ else if (West == West::Low) return 11819;
+ else return 11820;
+ else
+ if (West == West::None) return 11824;
+ else if (West == West::Low) return 11825;
+ else return 11826;
+ else
+ if (Up)
+ if (West == West::None) return 11830;
+ else if (West == West::Low) return 11831;
+ else return 11832;
+ else
+ if (West == West::None) return 11836;
+ else if (West == West::Low) return 11837;
+ else return 11838;
+ }
+ BlockState RedSandstoneWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace RedShulkerBox
+ {
+ constexpr BlockState RedShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9362;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9363;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9364;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9365;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9366;
+ else return 9367;
+ }
+ BlockState RedShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace RedStainedGlass
+ {
+ constexpr BlockState RedStainedGlass()
+ {
+ return 4109;
+ }
+ }
+ namespace RedStainedGlassPane
+ {
+ constexpr BlockState RedStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 7313;
+ else return 7314;
+ else
+ if (West) return 7317;
+ else return 7318;
+ else
+ if (South)
+ if (West) return 7321;
+ else return 7322;
+ else
+ if (West) return 7325;
+ else return 7326;
+ else
+ if (North)
+ if (South)
+ if (West) return 7329;
+ else return 7330;
+ else
+ if (West) return 7333;
+ else return 7334;
+ else
+ if (South)
+ if (West) return 7337;
+ else return 7338;
+ else
+ if (West) return 7341;
+ else return 7342;
+ }
+ BlockState RedStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace RedTerracotta
+ {
+ constexpr BlockState RedTerracotta()
+ {
+ return 6861;
+ }
+ }
+ namespace RedTulip
+ {
+ constexpr BlockState RedTulip()
+ {
+ return 1417;
+ }
+ }
+ namespace RedWallBanner
+ {
+ constexpr BlockState RedWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8209;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8210;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8211;
+ else return 8212;
+ }
+ BlockState RedWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace RedWool
+ {
+ constexpr BlockState RedWool()
+ {
+ return 1398;
+ }
+ }
+ namespace RedstoneBlock
+ {
+ constexpr BlockState RedstoneBlock()
+ {
+ return 6726;
+ }
+ }
+ namespace RedstoneLamp
+ {
+ constexpr BlockState RedstoneLamp(const bool Lit)
+ {
+ if (Lit) return 5156;
+ else return 5157;
+ }
+ BlockState RedstoneLamp();
+ bool Lit(BlockState Block);
+ }
+ namespace RedstoneOre
+ {
+ constexpr BlockState RedstoneOre(const bool Lit)
+ {
+ if (Lit) return 3885;
+ else return 3886;
+ }
+ BlockState RedstoneOre();
+ bool Lit(BlockState Block);
+ }
+ namespace RedstoneTorch
+ {
+ constexpr BlockState RedstoneTorch(const bool Lit)
+ {
+ if (Lit) return 3887;
+ else return 3888;
+ }
+ BlockState RedstoneTorch();
+ bool Lit(BlockState Block);
+ }
+ namespace RedstoneWallTorch
+ {
+ constexpr BlockState RedstoneWallTorch(const eBlockFace Facing, const bool Lit)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Lit) return 3889;
+ else return 3890;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Lit) return 3891;
+ else return 3892;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Lit) return 3893;
+ else return 3894;
+ else
+ if (Lit) return 3895;
+ else return 3896;
+ }
+ BlockState RedstoneWallTorch();
+ eBlockFace Facing(BlockState Block);
+ bool Lit(BlockState Block);
+ }
+ namespace RedstoneWire
+ {
+ enum class East
+ {
+ Up,
+ Side,
+ None
+ };
+ enum class North
+ {
+ Up,
+ Side,
+ None
+ };
+ enum class South
+ {
+ Up,
+ Side,
+ None
+ };
+ enum class West
+ {
+ Up,
+ Side,
+ None
+ };
+ constexpr BlockState RedstoneWire(const enum East East, const enum North North, const unsigned char Power, const enum South South, const enum West West)
+ {
+ if (East == East::Up)
+ if (North == North::Up)
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 2058;
+ else if (West == West::Side) return 2059;
+ else return 2060;
+ else if (South == South::Side)
+ if (West == West::Up) return 2061;
+ else if (West == West::Side) return 2062;
+ else return 2063;
+ else
+ if (West == West::Up) return 2064;
+ else if (West == West::Side) return 2065;
+ else return 2066;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 2067;
+ else if (West == West::Side) return 2068;
+ else return 2069;
+ else if (South == South::Side)
+ if (West == West::Up) return 2070;
+ else if (West == West::Side) return 2071;
+ else return 2072;
+ else
+ if (West == West::Up) return 2073;
+ else if (West == West::Side) return 2074;
+ else return 2075;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 2076;
+ else if (West == West::Side) return 2077;
+ else return 2078;
+ else if (South == South::Side)
+ if (West == West::Up) return 2079;
+ else if (West == West::Side) return 2080;
+ else return 2081;
+ else
+ if (West == West::Up) return 2082;
+ else if (West == West::Side) return 2083;
+ else return 2084;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 2085;
+ else if (West == West::Side) return 2086;
+ else return 2087;
+ else if (South == South::Side)
+ if (West == West::Up) return 2088;
+ else if (West == West::Side) return 2089;
+ else return 2090;
+ else
+ if (West == West::Up) return 2091;
+ else if (West == West::Side) return 2092;
+ else return 2093;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 2094;
+ else if (West == West::Side) return 2095;
+ else return 2096;
+ else if (South == South::Side)
+ if (West == West::Up) return 2097;
+ else if (West == West::Side) return 2098;
+ else return 2099;
+ else
+ if (West == West::Up) return 2100;
+ else if (West == West::Side) return 2101;
+ else return 2102;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 2103;
+ else if (West == West::Side) return 2104;
+ else return 2105;
+ else if (South == South::Side)
+ if (West == West::Up) return 2106;
+ else if (West == West::Side) return 2107;
+ else return 2108;
+ else
+ if (West == West::Up) return 2109;
+ else if (West == West::Side) return 2110;
+ else return 2111;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 2112;
+ else if (West == West::Side) return 2113;
+ else return 2114;
+ else if (South == South::Side)
+ if (West == West::Up) return 2115;
+ else if (West == West::Side) return 2116;
+ else return 2117;
+ else
+ if (West == West::Up) return 2118;
+ else if (West == West::Side) return 2119;
+ else return 2120;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 2121;
+ else if (West == West::Side) return 2122;
+ else return 2123;
+ else if (South == South::Side)
+ if (West == West::Up) return 2124;
+ else if (West == West::Side) return 2125;
+ else return 2126;
+ else
+ if (West == West::Up) return 2127;
+ else if (West == West::Side) return 2128;
+ else return 2129;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 2130;
+ else if (West == West::Side) return 2131;
+ else return 2132;
+ else if (South == South::Side)
+ if (West == West::Up) return 2133;
+ else if (West == West::Side) return 2134;
+ else return 2135;
+ else
+ if (West == West::Up) return 2136;
+ else if (West == West::Side) return 2137;
+ else return 2138;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 2139;
+ else if (West == West::Side) return 2140;
+ else return 2141;
+ else if (South == South::Side)
+ if (West == West::Up) return 2142;
+ else if (West == West::Side) return 2143;
+ else return 2144;
+ else
+ if (West == West::Up) return 2145;
+ else if (West == West::Side) return 2146;
+ else return 2147;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 2148;
+ else if (West == West::Side) return 2149;
+ else return 2150;
+ else if (South == South::Side)
+ if (West == West::Up) return 2151;
+ else if (West == West::Side) return 2152;
+ else return 2153;
+ else
+ if (West == West::Up) return 2154;
+ else if (West == West::Side) return 2155;
+ else return 2156;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 2157;
+ else if (West == West::Side) return 2158;
+ else return 2159;
+ else if (South == South::Side)
+ if (West == West::Up) return 2160;
+ else if (West == West::Side) return 2161;
+ else return 2162;
+ else
+ if (West == West::Up) return 2163;
+ else if (West == West::Side) return 2164;
+ else return 2165;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 2166;
+ else if (West == West::Side) return 2167;
+ else return 2168;
+ else if (South == South::Side)
+ if (West == West::Up) return 2169;
+ else if (West == West::Side) return 2170;
+ else return 2171;
+ else
+ if (West == West::Up) return 2172;
+ else if (West == West::Side) return 2173;
+ else return 2174;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 2175;
+ else if (West == West::Side) return 2176;
+ else return 2177;
+ else if (South == South::Side)
+ if (West == West::Up) return 2178;
+ else if (West == West::Side) return 2179;
+ else return 2180;
+ else
+ if (West == West::Up) return 2181;
+ else if (West == West::Side) return 2182;
+ else return 2183;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 2184;
+ else if (West == West::Side) return 2185;
+ else return 2186;
+ else if (South == South::Side)
+ if (West == West::Up) return 2187;
+ else if (West == West::Side) return 2188;
+ else return 2189;
+ else
+ if (West == West::Up) return 2190;
+ else if (West == West::Side) return 2191;
+ else return 2192;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 2193;
+ else if (West == West::Side) return 2194;
+ else return 2195;
+ else if (South == South::Side)
+ if (West == West::Up) return 2196;
+ else if (West == West::Side) return 2197;
+ else return 2198;
+ else
+ if (West == West::Up) return 2199;
+ else if (West == West::Side) return 2200;
+ else return 2201;
+ else if (North == North::Side)
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 2202;
+ else if (West == West::Side) return 2203;
+ else return 2204;
+ else if (South == South::Side)
+ if (West == West::Up) return 2205;
+ else if (West == West::Side) return 2206;
+ else return 2207;
+ else
+ if (West == West::Up) return 2208;
+ else if (West == West::Side) return 2209;
+ else return 2210;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 2211;
+ else if (West == West::Side) return 2212;
+ else return 2213;
+ else if (South == South::Side)
+ if (West == West::Up) return 2214;
+ else if (West == West::Side) return 2215;
+ else return 2216;
+ else
+ if (West == West::Up) return 2217;
+ else if (West == West::Side) return 2218;
+ else return 2219;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 2220;
+ else if (West == West::Side) return 2221;
+ else return 2222;
+ else if (South == South::Side)
+ if (West == West::Up) return 2223;
+ else if (West == West::Side) return 2224;
+ else return 2225;
+ else
+ if (West == West::Up) return 2226;
+ else if (West == West::Side) return 2227;
+ else return 2228;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 2229;
+ else if (West == West::Side) return 2230;
+ else return 2231;
+ else if (South == South::Side)
+ if (West == West::Up) return 2232;
+ else if (West == West::Side) return 2233;
+ else return 2234;
+ else
+ if (West == West::Up) return 2235;
+ else if (West == West::Side) return 2236;
+ else return 2237;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 2238;
+ else if (West == West::Side) return 2239;
+ else return 2240;
+ else if (South == South::Side)
+ if (West == West::Up) return 2241;
+ else if (West == West::Side) return 2242;
+ else return 2243;
+ else
+ if (West == West::Up) return 2244;
+ else if (West == West::Side) return 2245;
+ else return 2246;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 2247;
+ else if (West == West::Side) return 2248;
+ else return 2249;
+ else if (South == South::Side)
+ if (West == West::Up) return 2250;
+ else if (West == West::Side) return 2251;
+ else return 2252;
+ else
+ if (West == West::Up) return 2253;
+ else if (West == West::Side) return 2254;
+ else return 2255;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 2256;
+ else if (West == West::Side) return 2257;
+ else return 2258;
+ else if (South == South::Side)
+ if (West == West::Up) return 2259;
+ else if (West == West::Side) return 2260;
+ else return 2261;
+ else
+ if (West == West::Up) return 2262;
+ else if (West == West::Side) return 2263;
+ else return 2264;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 2265;
+ else if (West == West::Side) return 2266;
+ else return 2267;
+ else if (South == South::Side)
+ if (West == West::Up) return 2268;
+ else if (West == West::Side) return 2269;
+ else return 2270;
+ else
+ if (West == West::Up) return 2271;
+ else if (West == West::Side) return 2272;
+ else return 2273;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 2274;
+ else if (West == West::Side) return 2275;
+ else return 2276;
+ else if (South == South::Side)
+ if (West == West::Up) return 2277;
+ else if (West == West::Side) return 2278;
+ else return 2279;
+ else
+ if (West == West::Up) return 2280;
+ else if (West == West::Side) return 2281;
+ else return 2282;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 2283;
+ else if (West == West::Side) return 2284;
+ else return 2285;
+ else if (South == South::Side)
+ if (West == West::Up) return 2286;
+ else if (West == West::Side) return 2287;
+ else return 2288;
+ else
+ if (West == West::Up) return 2289;
+ else if (West == West::Side) return 2290;
+ else return 2291;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 2292;
+ else if (West == West::Side) return 2293;
+ else return 2294;
+ else if (South == South::Side)
+ if (West == West::Up) return 2295;
+ else if (West == West::Side) return 2296;
+ else return 2297;
+ else
+ if (West == West::Up) return 2298;
+ else if (West == West::Side) return 2299;
+ else return 2300;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 2301;
+ else if (West == West::Side) return 2302;
+ else return 2303;
+ else if (South == South::Side)
+ if (West == West::Up) return 2304;
+ else if (West == West::Side) return 2305;
+ else return 2306;
+ else
+ if (West == West::Up) return 2307;
+ else if (West == West::Side) return 2308;
+ else return 2309;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 2310;
+ else if (West == West::Side) return 2311;
+ else return 2312;
+ else if (South == South::Side)
+ if (West == West::Up) return 2313;
+ else if (West == West::Side) return 2314;
+ else return 2315;
+ else
+ if (West == West::Up) return 2316;
+ else if (West == West::Side) return 2317;
+ else return 2318;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 2319;
+ else if (West == West::Side) return 2320;
+ else return 2321;
+ else if (South == South::Side)
+ if (West == West::Up) return 2322;
+ else if (West == West::Side) return 2323;
+ else return 2324;
+ else
+ if (West == West::Up) return 2325;
+ else if (West == West::Side) return 2326;
+ else return 2327;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 2328;
+ else if (West == West::Side) return 2329;
+ else return 2330;
+ else if (South == South::Side)
+ if (West == West::Up) return 2331;
+ else if (West == West::Side) return 2332;
+ else return 2333;
+ else
+ if (West == West::Up) return 2334;
+ else if (West == West::Side) return 2335;
+ else return 2336;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 2337;
+ else if (West == West::Side) return 2338;
+ else return 2339;
+ else if (South == South::Side)
+ if (West == West::Up) return 2340;
+ else if (West == West::Side) return 2341;
+ else return 2342;
+ else
+ if (West == West::Up) return 2343;
+ else if (West == West::Side) return 2344;
+ else return 2345;
+ else
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 2346;
+ else if (West == West::Side) return 2347;
+ else return 2348;
+ else if (South == South::Side)
+ if (West == West::Up) return 2349;
+ else if (West == West::Side) return 2350;
+ else return 2351;
+ else
+ if (West == West::Up) return 2352;
+ else if (West == West::Side) return 2353;
+ else return 2354;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 2355;
+ else if (West == West::Side) return 2356;
+ else return 2357;
+ else if (South == South::Side)
+ if (West == West::Up) return 2358;
+ else if (West == West::Side) return 2359;
+ else return 2360;
+ else
+ if (West == West::Up) return 2361;
+ else if (West == West::Side) return 2362;
+ else return 2363;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 2364;
+ else if (West == West::Side) return 2365;
+ else return 2366;
+ else if (South == South::Side)
+ if (West == West::Up) return 2367;
+ else if (West == West::Side) return 2368;
+ else return 2369;
+ else
+ if (West == West::Up) return 2370;
+ else if (West == West::Side) return 2371;
+ else return 2372;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 2373;
+ else if (West == West::Side) return 2374;
+ else return 2375;
+ else if (South == South::Side)
+ if (West == West::Up) return 2376;
+ else if (West == West::Side) return 2377;
+ else return 2378;
+ else
+ if (West == West::Up) return 2379;
+ else if (West == West::Side) return 2380;
+ else return 2381;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 2382;
+ else if (West == West::Side) return 2383;
+ else return 2384;
+ else if (South == South::Side)
+ if (West == West::Up) return 2385;
+ else if (West == West::Side) return 2386;
+ else return 2387;
+ else
+ if (West == West::Up) return 2388;
+ else if (West == West::Side) return 2389;
+ else return 2390;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 2391;
+ else if (West == West::Side) return 2392;
+ else return 2393;
+ else if (South == South::Side)
+ if (West == West::Up) return 2394;
+ else if (West == West::Side) return 2395;
+ else return 2396;
+ else
+ if (West == West::Up) return 2397;
+ else if (West == West::Side) return 2398;
+ else return 2399;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 2400;
+ else if (West == West::Side) return 2401;
+ else return 2402;
+ else if (South == South::Side)
+ if (West == West::Up) return 2403;
+ else if (West == West::Side) return 2404;
+ else return 2405;
+ else
+ if (West == West::Up) return 2406;
+ else if (West == West::Side) return 2407;
+ else return 2408;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 2409;
+ else if (West == West::Side) return 2410;
+ else return 2411;
+ else if (South == South::Side)
+ if (West == West::Up) return 2412;
+ else if (West == West::Side) return 2413;
+ else return 2414;
+ else
+ if (West == West::Up) return 2415;
+ else if (West == West::Side) return 2416;
+ else return 2417;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 2418;
+ else if (West == West::Side) return 2419;
+ else return 2420;
+ else if (South == South::Side)
+ if (West == West::Up) return 2421;
+ else if (West == West::Side) return 2422;
+ else return 2423;
+ else
+ if (West == West::Up) return 2424;
+ else if (West == West::Side) return 2425;
+ else return 2426;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 2427;
+ else if (West == West::Side) return 2428;
+ else return 2429;
+ else if (South == South::Side)
+ if (West == West::Up) return 2430;
+ else if (West == West::Side) return 2431;
+ else return 2432;
+ else
+ if (West == West::Up) return 2433;
+ else if (West == West::Side) return 2434;
+ else return 2435;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 2436;
+ else if (West == West::Side) return 2437;
+ else return 2438;
+ else if (South == South::Side)
+ if (West == West::Up) return 2439;
+ else if (West == West::Side) return 2440;
+ else return 2441;
+ else
+ if (West == West::Up) return 2442;
+ else if (West == West::Side) return 2443;
+ else return 2444;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 2445;
+ else if (West == West::Side) return 2446;
+ else return 2447;
+ else if (South == South::Side)
+ if (West == West::Up) return 2448;
+ else if (West == West::Side) return 2449;
+ else return 2450;
+ else
+ if (West == West::Up) return 2451;
+ else if (West == West::Side) return 2452;
+ else return 2453;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 2454;
+ else if (West == West::Side) return 2455;
+ else return 2456;
+ else if (South == South::Side)
+ if (West == West::Up) return 2457;
+ else if (West == West::Side) return 2458;
+ else return 2459;
+ else
+ if (West == West::Up) return 2460;
+ else if (West == West::Side) return 2461;
+ else return 2462;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 2463;
+ else if (West == West::Side) return 2464;
+ else return 2465;
+ else if (South == South::Side)
+ if (West == West::Up) return 2466;
+ else if (West == West::Side) return 2467;
+ else return 2468;
+ else
+ if (West == West::Up) return 2469;
+ else if (West == West::Side) return 2470;
+ else return 2471;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 2472;
+ else if (West == West::Side) return 2473;
+ else return 2474;
+ else if (South == South::Side)
+ if (West == West::Up) return 2475;
+ else if (West == West::Side) return 2476;
+ else return 2477;
+ else
+ if (West == West::Up) return 2478;
+ else if (West == West::Side) return 2479;
+ else return 2480;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 2481;
+ else if (West == West::Side) return 2482;
+ else return 2483;
+ else if (South == South::Side)
+ if (West == West::Up) return 2484;
+ else if (West == West::Side) return 2485;
+ else return 2486;
+ else
+ if (West == West::Up) return 2487;
+ else if (West == West::Side) return 2488;
+ else return 2489;
+ else if (East == East::Side)
+ if (North == North::Up)
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 2490;
+ else if (West == West::Side) return 2491;
+ else return 2492;
+ else if (South == South::Side)
+ if (West == West::Up) return 2493;
+ else if (West == West::Side) return 2494;
+ else return 2495;
+ else
+ if (West == West::Up) return 2496;
+ else if (West == West::Side) return 2497;
+ else return 2498;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 2499;
+ else if (West == West::Side) return 2500;
+ else return 2501;
+ else if (South == South::Side)
+ if (West == West::Up) return 2502;
+ else if (West == West::Side) return 2503;
+ else return 2504;
+ else
+ if (West == West::Up) return 2505;
+ else if (West == West::Side) return 2506;
+ else return 2507;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 2508;
+ else if (West == West::Side) return 2509;
+ else return 2510;
+ else if (South == South::Side)
+ if (West == West::Up) return 2511;
+ else if (West == West::Side) return 2512;
+ else return 2513;
+ else
+ if (West == West::Up) return 2514;
+ else if (West == West::Side) return 2515;
+ else return 2516;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 2517;
+ else if (West == West::Side) return 2518;
+ else return 2519;
+ else if (South == South::Side)
+ if (West == West::Up) return 2520;
+ else if (West == West::Side) return 2521;
+ else return 2522;
+ else
+ if (West == West::Up) return 2523;
+ else if (West == West::Side) return 2524;
+ else return 2525;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 2526;
+ else if (West == West::Side) return 2527;
+ else return 2528;
+ else if (South == South::Side)
+ if (West == West::Up) return 2529;
+ else if (West == West::Side) return 2530;
+ else return 2531;
+ else
+ if (West == West::Up) return 2532;
+ else if (West == West::Side) return 2533;
+ else return 2534;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 2535;
+ else if (West == West::Side) return 2536;
+ else return 2537;
+ else if (South == South::Side)
+ if (West == West::Up) return 2538;
+ else if (West == West::Side) return 2539;
+ else return 2540;
+ else
+ if (West == West::Up) return 2541;
+ else if (West == West::Side) return 2542;
+ else return 2543;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 2544;
+ else if (West == West::Side) return 2545;
+ else return 2546;
+ else if (South == South::Side)
+ if (West == West::Up) return 2547;
+ else if (West == West::Side) return 2548;
+ else return 2549;
+ else
+ if (West == West::Up) return 2550;
+ else if (West == West::Side) return 2551;
+ else return 2552;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 2553;
+ else if (West == West::Side) return 2554;
+ else return 2555;
+ else if (South == South::Side)
+ if (West == West::Up) return 2556;
+ else if (West == West::Side) return 2557;
+ else return 2558;
+ else
+ if (West == West::Up) return 2559;
+ else if (West == West::Side) return 2560;
+ else return 2561;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 2562;
+ else if (West == West::Side) return 2563;
+ else return 2564;
+ else if (South == South::Side)
+ if (West == West::Up) return 2565;
+ else if (West == West::Side) return 2566;
+ else return 2567;
+ else
+ if (West == West::Up) return 2568;
+ else if (West == West::Side) return 2569;
+ else return 2570;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 2571;
+ else if (West == West::Side) return 2572;
+ else return 2573;
+ else if (South == South::Side)
+ if (West == West::Up) return 2574;
+ else if (West == West::Side) return 2575;
+ else return 2576;
+ else
+ if (West == West::Up) return 2577;
+ else if (West == West::Side) return 2578;
+ else return 2579;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 2580;
+ else if (West == West::Side) return 2581;
+ else return 2582;
+ else if (South == South::Side)
+ if (West == West::Up) return 2583;
+ else if (West == West::Side) return 2584;
+ else return 2585;
+ else
+ if (West == West::Up) return 2586;
+ else if (West == West::Side) return 2587;
+ else return 2588;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 2589;
+ else if (West == West::Side) return 2590;
+ else return 2591;
+ else if (South == South::Side)
+ if (West == West::Up) return 2592;
+ else if (West == West::Side) return 2593;
+ else return 2594;
+ else
+ if (West == West::Up) return 2595;
+ else if (West == West::Side) return 2596;
+ else return 2597;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 2598;
+ else if (West == West::Side) return 2599;
+ else return 2600;
+ else if (South == South::Side)
+ if (West == West::Up) return 2601;
+ else if (West == West::Side) return 2602;
+ else return 2603;
+ else
+ if (West == West::Up) return 2604;
+ else if (West == West::Side) return 2605;
+ else return 2606;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 2607;
+ else if (West == West::Side) return 2608;
+ else return 2609;
+ else if (South == South::Side)
+ if (West == West::Up) return 2610;
+ else if (West == West::Side) return 2611;
+ else return 2612;
+ else
+ if (West == West::Up) return 2613;
+ else if (West == West::Side) return 2614;
+ else return 2615;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 2616;
+ else if (West == West::Side) return 2617;
+ else return 2618;
+ else if (South == South::Side)
+ if (West == West::Up) return 2619;
+ else if (West == West::Side) return 2620;
+ else return 2621;
+ else
+ if (West == West::Up) return 2622;
+ else if (West == West::Side) return 2623;
+ else return 2624;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 2625;
+ else if (West == West::Side) return 2626;
+ else return 2627;
+ else if (South == South::Side)
+ if (West == West::Up) return 2628;
+ else if (West == West::Side) return 2629;
+ else return 2630;
+ else
+ if (West == West::Up) return 2631;
+ else if (West == West::Side) return 2632;
+ else return 2633;
+ else if (North == North::Side)
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 2634;
+ else if (West == West::Side) return 2635;
+ else return 2636;
+ else if (South == South::Side)
+ if (West == West::Up) return 2637;
+ else if (West == West::Side) return 2638;
+ else return 2639;
+ else
+ if (West == West::Up) return 2640;
+ else if (West == West::Side) return 2641;
+ else return 2642;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 2643;
+ else if (West == West::Side) return 2644;
+ else return 2645;
+ else if (South == South::Side)
+ if (West == West::Up) return 2646;
+ else if (West == West::Side) return 2647;
+ else return 2648;
+ else
+ if (West == West::Up) return 2649;
+ else if (West == West::Side) return 2650;
+ else return 2651;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 2652;
+ else if (West == West::Side) return 2653;
+ else return 2654;
+ else if (South == South::Side)
+ if (West == West::Up) return 2655;
+ else if (West == West::Side) return 2656;
+ else return 2657;
+ else
+ if (West == West::Up) return 2658;
+ else if (West == West::Side) return 2659;
+ else return 2660;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 2661;
+ else if (West == West::Side) return 2662;
+ else return 2663;
+ else if (South == South::Side)
+ if (West == West::Up) return 2664;
+ else if (West == West::Side) return 2665;
+ else return 2666;
+ else
+ if (West == West::Up) return 2667;
+ else if (West == West::Side) return 2668;
+ else return 2669;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 2670;
+ else if (West == West::Side) return 2671;
+ else return 2672;
+ else if (South == South::Side)
+ if (West == West::Up) return 2673;
+ else if (West == West::Side) return 2674;
+ else return 2675;
+ else
+ if (West == West::Up) return 2676;
+ else if (West == West::Side) return 2677;
+ else return 2678;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 2679;
+ else if (West == West::Side) return 2680;
+ else return 2681;
+ else if (South == South::Side)
+ if (West == West::Up) return 2682;
+ else if (West == West::Side) return 2683;
+ else return 2684;
+ else
+ if (West == West::Up) return 2685;
+ else if (West == West::Side) return 2686;
+ else return 2687;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 2688;
+ else if (West == West::Side) return 2689;
+ else return 2690;
+ else if (South == South::Side)
+ if (West == West::Up) return 2691;
+ else if (West == West::Side) return 2692;
+ else return 2693;
+ else
+ if (West == West::Up) return 2694;
+ else if (West == West::Side) return 2695;
+ else return 2696;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 2697;
+ else if (West == West::Side) return 2698;
+ else return 2699;
+ else if (South == South::Side)
+ if (West == West::Up) return 2700;
+ else if (West == West::Side) return 2701;
+ else return 2702;
+ else
+ if (West == West::Up) return 2703;
+ else if (West == West::Side) return 2704;
+ else return 2705;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 2706;
+ else if (West == West::Side) return 2707;
+ else return 2708;
+ else if (South == South::Side)
+ if (West == West::Up) return 2709;
+ else if (West == West::Side) return 2710;
+ else return 2711;
+ else
+ if (West == West::Up) return 2712;
+ else if (West == West::Side) return 2713;
+ else return 2714;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 2715;
+ else if (West == West::Side) return 2716;
+ else return 2717;
+ else if (South == South::Side)
+ if (West == West::Up) return 2718;
+ else if (West == West::Side) return 2719;
+ else return 2720;
+ else
+ if (West == West::Up) return 2721;
+ else if (West == West::Side) return 2722;
+ else return 2723;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 2724;
+ else if (West == West::Side) return 2725;
+ else return 2726;
+ else if (South == South::Side)
+ if (West == West::Up) return 2727;
+ else if (West == West::Side) return 2728;
+ else return 2729;
+ else
+ if (West == West::Up) return 2730;
+ else if (West == West::Side) return 2731;
+ else return 2732;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 2733;
+ else if (West == West::Side) return 2734;
+ else return 2735;
+ else if (South == South::Side)
+ if (West == West::Up) return 2736;
+ else if (West == West::Side) return 2737;
+ else return 2738;
+ else
+ if (West == West::Up) return 2739;
+ else if (West == West::Side) return 2740;
+ else return 2741;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 2742;
+ else if (West == West::Side) return 2743;
+ else return 2744;
+ else if (South == South::Side)
+ if (West == West::Up) return 2745;
+ else if (West == West::Side) return 2746;
+ else return 2747;
+ else
+ if (West == West::Up) return 2748;
+ else if (West == West::Side) return 2749;
+ else return 2750;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 2751;
+ else if (West == West::Side) return 2752;
+ else return 2753;
+ else if (South == South::Side)
+ if (West == West::Up) return 2754;
+ else if (West == West::Side) return 2755;
+ else return 2756;
+ else
+ if (West == West::Up) return 2757;
+ else if (West == West::Side) return 2758;
+ else return 2759;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 2760;
+ else if (West == West::Side) return 2761;
+ else return 2762;
+ else if (South == South::Side)
+ if (West == West::Up) return 2763;
+ else if (West == West::Side) return 2764;
+ else return 2765;
+ else
+ if (West == West::Up) return 2766;
+ else if (West == West::Side) return 2767;
+ else return 2768;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 2769;
+ else if (West == West::Side) return 2770;
+ else return 2771;
+ else if (South == South::Side)
+ if (West == West::Up) return 2772;
+ else if (West == West::Side) return 2773;
+ else return 2774;
+ else
+ if (West == West::Up) return 2775;
+ else if (West == West::Side) return 2776;
+ else return 2777;
+ else
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 2778;
+ else if (West == West::Side) return 2779;
+ else return 2780;
+ else if (South == South::Side)
+ if (West == West::Up) return 2781;
+ else if (West == West::Side) return 2782;
+ else return 2783;
+ else
+ if (West == West::Up) return 2784;
+ else if (West == West::Side) return 2785;
+ else return 2786;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 2787;
+ else if (West == West::Side) return 2788;
+ else return 2789;
+ else if (South == South::Side)
+ if (West == West::Up) return 2790;
+ else if (West == West::Side) return 2791;
+ else return 2792;
+ else
+ if (West == West::Up) return 2793;
+ else if (West == West::Side) return 2794;
+ else return 2795;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 2796;
+ else if (West == West::Side) return 2797;
+ else return 2798;
+ else if (South == South::Side)
+ if (West == West::Up) return 2799;
+ else if (West == West::Side) return 2800;
+ else return 2801;
+ else
+ if (West == West::Up) return 2802;
+ else if (West == West::Side) return 2803;
+ else return 2804;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 2805;
+ else if (West == West::Side) return 2806;
+ else return 2807;
+ else if (South == South::Side)
+ if (West == West::Up) return 2808;
+ else if (West == West::Side) return 2809;
+ else return 2810;
+ else
+ if (West == West::Up) return 2811;
+ else if (West == West::Side) return 2812;
+ else return 2813;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 2814;
+ else if (West == West::Side) return 2815;
+ else return 2816;
+ else if (South == South::Side)
+ if (West == West::Up) return 2817;
+ else if (West == West::Side) return 2818;
+ else return 2819;
+ else
+ if (West == West::Up) return 2820;
+ else if (West == West::Side) return 2821;
+ else return 2822;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 2823;
+ else if (West == West::Side) return 2824;
+ else return 2825;
+ else if (South == South::Side)
+ if (West == West::Up) return 2826;
+ else if (West == West::Side) return 2827;
+ else return 2828;
+ else
+ if (West == West::Up) return 2829;
+ else if (West == West::Side) return 2830;
+ else return 2831;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 2832;
+ else if (West == West::Side) return 2833;
+ else return 2834;
+ else if (South == South::Side)
+ if (West == West::Up) return 2835;
+ else if (West == West::Side) return 2836;
+ else return 2837;
+ else
+ if (West == West::Up) return 2838;
+ else if (West == West::Side) return 2839;
+ else return 2840;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 2841;
+ else if (West == West::Side) return 2842;
+ else return 2843;
+ else if (South == South::Side)
+ if (West == West::Up) return 2844;
+ else if (West == West::Side) return 2845;
+ else return 2846;
+ else
+ if (West == West::Up) return 2847;
+ else if (West == West::Side) return 2848;
+ else return 2849;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 2850;
+ else if (West == West::Side) return 2851;
+ else return 2852;
+ else if (South == South::Side)
+ if (West == West::Up) return 2853;
+ else if (West == West::Side) return 2854;
+ else return 2855;
+ else
+ if (West == West::Up) return 2856;
+ else if (West == West::Side) return 2857;
+ else return 2858;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 2859;
+ else if (West == West::Side) return 2860;
+ else return 2861;
+ else if (South == South::Side)
+ if (West == West::Up) return 2862;
+ else if (West == West::Side) return 2863;
+ else return 2864;
+ else
+ if (West == West::Up) return 2865;
+ else if (West == West::Side) return 2866;
+ else return 2867;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 2868;
+ else if (West == West::Side) return 2869;
+ else return 2870;
+ else if (South == South::Side)
+ if (West == West::Up) return 2871;
+ else if (West == West::Side) return 2872;
+ else return 2873;
+ else
+ if (West == West::Up) return 2874;
+ else if (West == West::Side) return 2875;
+ else return 2876;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 2877;
+ else if (West == West::Side) return 2878;
+ else return 2879;
+ else if (South == South::Side)
+ if (West == West::Up) return 2880;
+ else if (West == West::Side) return 2881;
+ else return 2882;
+ else
+ if (West == West::Up) return 2883;
+ else if (West == West::Side) return 2884;
+ else return 2885;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 2886;
+ else if (West == West::Side) return 2887;
+ else return 2888;
+ else if (South == South::Side)
+ if (West == West::Up) return 2889;
+ else if (West == West::Side) return 2890;
+ else return 2891;
+ else
+ if (West == West::Up) return 2892;
+ else if (West == West::Side) return 2893;
+ else return 2894;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 2895;
+ else if (West == West::Side) return 2896;
+ else return 2897;
+ else if (South == South::Side)
+ if (West == West::Up) return 2898;
+ else if (West == West::Side) return 2899;
+ else return 2900;
+ else
+ if (West == West::Up) return 2901;
+ else if (West == West::Side) return 2902;
+ else return 2903;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 2904;
+ else if (West == West::Side) return 2905;
+ else return 2906;
+ else if (South == South::Side)
+ if (West == West::Up) return 2907;
+ else if (West == West::Side) return 2908;
+ else return 2909;
+ else
+ if (West == West::Up) return 2910;
+ else if (West == West::Side) return 2911;
+ else return 2912;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 2913;
+ else if (West == West::Side) return 2914;
+ else return 2915;
+ else if (South == South::Side)
+ if (West == West::Up) return 2916;
+ else if (West == West::Side) return 2917;
+ else return 2918;
+ else
+ if (West == West::Up) return 2919;
+ else if (West == West::Side) return 2920;
+ else return 2921;
+ else
+ if (North == North::Up)
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 2922;
+ else if (West == West::Side) return 2923;
+ else return 2924;
+ else if (South == South::Side)
+ if (West == West::Up) return 2925;
+ else if (West == West::Side) return 2926;
+ else return 2927;
+ else
+ if (West == West::Up) return 2928;
+ else if (West == West::Side) return 2929;
+ else return 2930;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 2931;
+ else if (West == West::Side) return 2932;
+ else return 2933;
+ else if (South == South::Side)
+ if (West == West::Up) return 2934;
+ else if (West == West::Side) return 2935;
+ else return 2936;
+ else
+ if (West == West::Up) return 2937;
+ else if (West == West::Side) return 2938;
+ else return 2939;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 2940;
+ else if (West == West::Side) return 2941;
+ else return 2942;
+ else if (South == South::Side)
+ if (West == West::Up) return 2943;
+ else if (West == West::Side) return 2944;
+ else return 2945;
+ else
+ if (West == West::Up) return 2946;
+ else if (West == West::Side) return 2947;
+ else return 2948;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 2949;
+ else if (West == West::Side) return 2950;
+ else return 2951;
+ else if (South == South::Side)
+ if (West == West::Up) return 2952;
+ else if (West == West::Side) return 2953;
+ else return 2954;
+ else
+ if (West == West::Up) return 2955;
+ else if (West == West::Side) return 2956;
+ else return 2957;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 2958;
+ else if (West == West::Side) return 2959;
+ else return 2960;
+ else if (South == South::Side)
+ if (West == West::Up) return 2961;
+ else if (West == West::Side) return 2962;
+ else return 2963;
+ else
+ if (West == West::Up) return 2964;
+ else if (West == West::Side) return 2965;
+ else return 2966;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 2967;
+ else if (West == West::Side) return 2968;
+ else return 2969;
+ else if (South == South::Side)
+ if (West == West::Up) return 2970;
+ else if (West == West::Side) return 2971;
+ else return 2972;
+ else
+ if (West == West::Up) return 2973;
+ else if (West == West::Side) return 2974;
+ else return 2975;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 2976;
+ else if (West == West::Side) return 2977;
+ else return 2978;
+ else if (South == South::Side)
+ if (West == West::Up) return 2979;
+ else if (West == West::Side) return 2980;
+ else return 2981;
+ else
+ if (West == West::Up) return 2982;
+ else if (West == West::Side) return 2983;
+ else return 2984;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 2985;
+ else if (West == West::Side) return 2986;
+ else return 2987;
+ else if (South == South::Side)
+ if (West == West::Up) return 2988;
+ else if (West == West::Side) return 2989;
+ else return 2990;
+ else
+ if (West == West::Up) return 2991;
+ else if (West == West::Side) return 2992;
+ else return 2993;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 2994;
+ else if (West == West::Side) return 2995;
+ else return 2996;
+ else if (South == South::Side)
+ if (West == West::Up) return 2997;
+ else if (West == West::Side) return 2998;
+ else return 2999;
+ else
+ if (West == West::Up) return 3000;
+ else if (West == West::Side) return 3001;
+ else return 3002;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 3003;
+ else if (West == West::Side) return 3004;
+ else return 3005;
+ else if (South == South::Side)
+ if (West == West::Up) return 3006;
+ else if (West == West::Side) return 3007;
+ else return 3008;
+ else
+ if (West == West::Up) return 3009;
+ else if (West == West::Side) return 3010;
+ else return 3011;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 3012;
+ else if (West == West::Side) return 3013;
+ else return 3014;
+ else if (South == South::Side)
+ if (West == West::Up) return 3015;
+ else if (West == West::Side) return 3016;
+ else return 3017;
+ else
+ if (West == West::Up) return 3018;
+ else if (West == West::Side) return 3019;
+ else return 3020;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 3021;
+ else if (West == West::Side) return 3022;
+ else return 3023;
+ else if (South == South::Side)
+ if (West == West::Up) return 3024;
+ else if (West == West::Side) return 3025;
+ else return 3026;
+ else
+ if (West == West::Up) return 3027;
+ else if (West == West::Side) return 3028;
+ else return 3029;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 3030;
+ else if (West == West::Side) return 3031;
+ else return 3032;
+ else if (South == South::Side)
+ if (West == West::Up) return 3033;
+ else if (West == West::Side) return 3034;
+ else return 3035;
+ else
+ if (West == West::Up) return 3036;
+ else if (West == West::Side) return 3037;
+ else return 3038;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 3039;
+ else if (West == West::Side) return 3040;
+ else return 3041;
+ else if (South == South::Side)
+ if (West == West::Up) return 3042;
+ else if (West == West::Side) return 3043;
+ else return 3044;
+ else
+ if (West == West::Up) return 3045;
+ else if (West == West::Side) return 3046;
+ else return 3047;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 3048;
+ else if (West == West::Side) return 3049;
+ else return 3050;
+ else if (South == South::Side)
+ if (West == West::Up) return 3051;
+ else if (West == West::Side) return 3052;
+ else return 3053;
+ else
+ if (West == West::Up) return 3054;
+ else if (West == West::Side) return 3055;
+ else return 3056;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 3057;
+ else if (West == West::Side) return 3058;
+ else return 3059;
+ else if (South == South::Side)
+ if (West == West::Up) return 3060;
+ else if (West == West::Side) return 3061;
+ else return 3062;
+ else
+ if (West == West::Up) return 3063;
+ else if (West == West::Side) return 3064;
+ else return 3065;
+ else if (North == North::Side)
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 3066;
+ else if (West == West::Side) return 3067;
+ else return 3068;
+ else if (South == South::Side)
+ if (West == West::Up) return 3069;
+ else if (West == West::Side) return 3070;
+ else return 3071;
+ else
+ if (West == West::Up) return 3072;
+ else if (West == West::Side) return 3073;
+ else return 3074;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 3075;
+ else if (West == West::Side) return 3076;
+ else return 3077;
+ else if (South == South::Side)
+ if (West == West::Up) return 3078;
+ else if (West == West::Side) return 3079;
+ else return 3080;
+ else
+ if (West == West::Up) return 3081;
+ else if (West == West::Side) return 3082;
+ else return 3083;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 3084;
+ else if (West == West::Side) return 3085;
+ else return 3086;
+ else if (South == South::Side)
+ if (West == West::Up) return 3087;
+ else if (West == West::Side) return 3088;
+ else return 3089;
+ else
+ if (West == West::Up) return 3090;
+ else if (West == West::Side) return 3091;
+ else return 3092;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 3093;
+ else if (West == West::Side) return 3094;
+ else return 3095;
+ else if (South == South::Side)
+ if (West == West::Up) return 3096;
+ else if (West == West::Side) return 3097;
+ else return 3098;
+ else
+ if (West == West::Up) return 3099;
+ else if (West == West::Side) return 3100;
+ else return 3101;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 3102;
+ else if (West == West::Side) return 3103;
+ else return 3104;
+ else if (South == South::Side)
+ if (West == West::Up) return 3105;
+ else if (West == West::Side) return 3106;
+ else return 3107;
+ else
+ if (West == West::Up) return 3108;
+ else if (West == West::Side) return 3109;
+ else return 3110;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 3111;
+ else if (West == West::Side) return 3112;
+ else return 3113;
+ else if (South == South::Side)
+ if (West == West::Up) return 3114;
+ else if (West == West::Side) return 3115;
+ else return 3116;
+ else
+ if (West == West::Up) return 3117;
+ else if (West == West::Side) return 3118;
+ else return 3119;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 3120;
+ else if (West == West::Side) return 3121;
+ else return 3122;
+ else if (South == South::Side)
+ if (West == West::Up) return 3123;
+ else if (West == West::Side) return 3124;
+ else return 3125;
+ else
+ if (West == West::Up) return 3126;
+ else if (West == West::Side) return 3127;
+ else return 3128;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 3129;
+ else if (West == West::Side) return 3130;
+ else return 3131;
+ else if (South == South::Side)
+ if (West == West::Up) return 3132;
+ else if (West == West::Side) return 3133;
+ else return 3134;
+ else
+ if (West == West::Up) return 3135;
+ else if (West == West::Side) return 3136;
+ else return 3137;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 3138;
+ else if (West == West::Side) return 3139;
+ else return 3140;
+ else if (South == South::Side)
+ if (West == West::Up) return 3141;
+ else if (West == West::Side) return 3142;
+ else return 3143;
+ else
+ if (West == West::Up) return 3144;
+ else if (West == West::Side) return 3145;
+ else return 3146;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 3147;
+ else if (West == West::Side) return 3148;
+ else return 3149;
+ else if (South == South::Side)
+ if (West == West::Up) return 3150;
+ else if (West == West::Side) return 3151;
+ else return 3152;
+ else
+ if (West == West::Up) return 3153;
+ else if (West == West::Side) return 3154;
+ else return 3155;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 3156;
+ else if (West == West::Side) return 3157;
+ else return 3158;
+ else if (South == South::Side)
+ if (West == West::Up) return 3159;
+ else if (West == West::Side) return 3160;
+ else return 3161;
+ else
+ if (West == West::Up) return 3162;
+ else if (West == West::Side) return 3163;
+ else return 3164;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 3165;
+ else if (West == West::Side) return 3166;
+ else return 3167;
+ else if (South == South::Side)
+ if (West == West::Up) return 3168;
+ else if (West == West::Side) return 3169;
+ else return 3170;
+ else
+ if (West == West::Up) return 3171;
+ else if (West == West::Side) return 3172;
+ else return 3173;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 3174;
+ else if (West == West::Side) return 3175;
+ else return 3176;
+ else if (South == South::Side)
+ if (West == West::Up) return 3177;
+ else if (West == West::Side) return 3178;
+ else return 3179;
+ else
+ if (West == West::Up) return 3180;
+ else if (West == West::Side) return 3181;
+ else return 3182;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 3183;
+ else if (West == West::Side) return 3184;
+ else return 3185;
+ else if (South == South::Side)
+ if (West == West::Up) return 3186;
+ else if (West == West::Side) return 3187;
+ else return 3188;
+ else
+ if (West == West::Up) return 3189;
+ else if (West == West::Side) return 3190;
+ else return 3191;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 3192;
+ else if (West == West::Side) return 3193;
+ else return 3194;
+ else if (South == South::Side)
+ if (West == West::Up) return 3195;
+ else if (West == West::Side) return 3196;
+ else return 3197;
+ else
+ if (West == West::Up) return 3198;
+ else if (West == West::Side) return 3199;
+ else return 3200;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 3201;
+ else if (West == West::Side) return 3202;
+ else return 3203;
+ else if (South == South::Side)
+ if (West == West::Up) return 3204;
+ else if (West == West::Side) return 3205;
+ else return 3206;
+ else
+ if (West == West::Up) return 3207;
+ else if (West == West::Side) return 3208;
+ else return 3209;
+ else
+ if (Power == 0)
+ if (South == South::Up)
+ if (West == West::Up) return 3210;
+ else if (West == West::Side) return 3211;
+ else return 3212;
+ else if (South == South::Side)
+ if (West == West::Up) return 3213;
+ else if (West == West::Side) return 3214;
+ else return 3215;
+ else
+ if (West == West::Up) return 3216;
+ else if (West == West::Side) return 3217;
+ else return 3218;
+ else if (Power == 1)
+ if (South == South::Up)
+ if (West == West::Up) return 3219;
+ else if (West == West::Side) return 3220;
+ else return 3221;
+ else if (South == South::Side)
+ if (West == West::Up) return 3222;
+ else if (West == West::Side) return 3223;
+ else return 3224;
+ else
+ if (West == West::Up) return 3225;
+ else if (West == West::Side) return 3226;
+ else return 3227;
+ else if (Power == 2)
+ if (South == South::Up)
+ if (West == West::Up) return 3228;
+ else if (West == West::Side) return 3229;
+ else return 3230;
+ else if (South == South::Side)
+ if (West == West::Up) return 3231;
+ else if (West == West::Side) return 3232;
+ else return 3233;
+ else
+ if (West == West::Up) return 3234;
+ else if (West == West::Side) return 3235;
+ else return 3236;
+ else if (Power == 3)
+ if (South == South::Up)
+ if (West == West::Up) return 3237;
+ else if (West == West::Side) return 3238;
+ else return 3239;
+ else if (South == South::Side)
+ if (West == West::Up) return 3240;
+ else if (West == West::Side) return 3241;
+ else return 3242;
+ else
+ if (West == West::Up) return 3243;
+ else if (West == West::Side) return 3244;
+ else return 3245;
+ else if (Power == 4)
+ if (South == South::Up)
+ if (West == West::Up) return 3246;
+ else if (West == West::Side) return 3247;
+ else return 3248;
+ else if (South == South::Side)
+ if (West == West::Up) return 3249;
+ else if (West == West::Side) return 3250;
+ else return 3251;
+ else
+ if (West == West::Up) return 3252;
+ else if (West == West::Side) return 3253;
+ else return 3254;
+ else if (Power == 5)
+ if (South == South::Up)
+ if (West == West::Up) return 3255;
+ else if (West == West::Side) return 3256;
+ else return 3257;
+ else if (South == South::Side)
+ if (West == West::Up) return 3258;
+ else if (West == West::Side) return 3259;
+ else return 3260;
+ else
+ if (West == West::Up) return 3261;
+ else if (West == West::Side) return 3262;
+ else return 3263;
+ else if (Power == 6)
+ if (South == South::Up)
+ if (West == West::Up) return 3264;
+ else if (West == West::Side) return 3265;
+ else return 3266;
+ else if (South == South::Side)
+ if (West == West::Up) return 3267;
+ else if (West == West::Side) return 3268;
+ else return 3269;
+ else
+ if (West == West::Up) return 3270;
+ else if (West == West::Side) return 3271;
+ else return 3272;
+ else if (Power == 7)
+ if (South == South::Up)
+ if (West == West::Up) return 3273;
+ else if (West == West::Side) return 3274;
+ else return 3275;
+ else if (South == South::Side)
+ if (West == West::Up) return 3276;
+ else if (West == West::Side) return 3277;
+ else return 3278;
+ else
+ if (West == West::Up) return 3279;
+ else if (West == West::Side) return 3280;
+ else return 3281;
+ else if (Power == 8)
+ if (South == South::Up)
+ if (West == West::Up) return 3282;
+ else if (West == West::Side) return 3283;
+ else return 3284;
+ else if (South == South::Side)
+ if (West == West::Up) return 3285;
+ else if (West == West::Side) return 3286;
+ else return 3287;
+ else
+ if (West == West::Up) return 3288;
+ else if (West == West::Side) return 3289;
+ else return 3290;
+ else if (Power == 9)
+ if (South == South::Up)
+ if (West == West::Up) return 3291;
+ else if (West == West::Side) return 3292;
+ else return 3293;
+ else if (South == South::Side)
+ if (West == West::Up) return 3294;
+ else if (West == West::Side) return 3295;
+ else return 3296;
+ else
+ if (West == West::Up) return 3297;
+ else if (West == West::Side) return 3298;
+ else return 3299;
+ else if (Power == 10)
+ if (South == South::Up)
+ if (West == West::Up) return 3300;
+ else if (West == West::Side) return 3301;
+ else return 3302;
+ else if (South == South::Side)
+ if (West == West::Up) return 3303;
+ else if (West == West::Side) return 3304;
+ else return 3305;
+ else
+ if (West == West::Up) return 3306;
+ else if (West == West::Side) return 3307;
+ else return 3308;
+ else if (Power == 11)
+ if (South == South::Up)
+ if (West == West::Up) return 3309;
+ else if (West == West::Side) return 3310;
+ else return 3311;
+ else if (South == South::Side)
+ if (West == West::Up) return 3312;
+ else if (West == West::Side) return 3313;
+ else return 3314;
+ else
+ if (West == West::Up) return 3315;
+ else if (West == West::Side) return 3316;
+ else return 3317;
+ else if (Power == 12)
+ if (South == South::Up)
+ if (West == West::Up) return 3318;
+ else if (West == West::Side) return 3319;
+ else return 3320;
+ else if (South == South::Side)
+ if (West == West::Up) return 3321;
+ else if (West == West::Side) return 3322;
+ else return 3323;
+ else
+ if (West == West::Up) return 3324;
+ else if (West == West::Side) return 3325;
+ else return 3326;
+ else if (Power == 13)
+ if (South == South::Up)
+ if (West == West::Up) return 3327;
+ else if (West == West::Side) return 3328;
+ else return 3329;
+ else if (South == South::Side)
+ if (West == West::Up) return 3330;
+ else if (West == West::Side) return 3331;
+ else return 3332;
+ else
+ if (West == West::Up) return 3333;
+ else if (West == West::Side) return 3334;
+ else return 3335;
+ else if (Power == 14)
+ if (South == South::Up)
+ if (West == West::Up) return 3336;
+ else if (West == West::Side) return 3337;
+ else return 3338;
+ else if (South == South::Side)
+ if (West == West::Up) return 3339;
+ else if (West == West::Side) return 3340;
+ else return 3341;
+ else
+ if (West == West::Up) return 3342;
+ else if (West == West::Side) return 3343;
+ else return 3344;
+ else
+ if (South == South::Up)
+ if (West == West::Up) return 3345;
+ else if (West == West::Side) return 3346;
+ else return 3347;
+ else if (South == South::Side)
+ if (West == West::Up) return 3348;
+ else if (West == West::Side) return 3349;
+ else return 3350;
+ else
+ if (West == West::Up) return 3351;
+ else if (West == West::Side) return 3352;
+ else return 3353;
+ }
+ BlockState RedstoneWire();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ unsigned char Power(BlockState Block);
+ enum South South(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Repeater
+ {
+ constexpr BlockState Repeater(const unsigned char Delay, const eBlockFace Facing, const bool Locked, const bool Powered)
+ {
+ if (Delay == 1)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Locked)
+ if (Powered) return 4031;
+ else return 4032;
+ else
+ if (Powered) return 4033;
+ else return 4034;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Locked)
+ if (Powered) return 4035;
+ else return 4036;
+ else
+ if (Powered) return 4037;
+ else return 4038;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Locked)
+ if (Powered) return 4039;
+ else return 4040;
+ else
+ if (Powered) return 4041;
+ else return 4042;
+ else
+ if (Locked)
+ if (Powered) return 4043;
+ else return 4044;
+ else
+ if (Powered) return 4045;
+ else return 4046;
+ else if (Delay == 2)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Locked)
+ if (Powered) return 4047;
+ else return 4048;
+ else
+ if (Powered) return 4049;
+ else return 4050;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Locked)
+ if (Powered) return 4051;
+ else return 4052;
+ else
+ if (Powered) return 4053;
+ else return 4054;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Locked)
+ if (Powered) return 4055;
+ else return 4056;
+ else
+ if (Powered) return 4057;
+ else return 4058;
+ else
+ if (Locked)
+ if (Powered) return 4059;
+ else return 4060;
+ else
+ if (Powered) return 4061;
+ else return 4062;
+ else if (Delay == 3)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Locked)
+ if (Powered) return 4063;
+ else return 4064;
+ else
+ if (Powered) return 4065;
+ else return 4066;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Locked)
+ if (Powered) return 4067;
+ else return 4068;
+ else
+ if (Powered) return 4069;
+ else return 4070;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Locked)
+ if (Powered) return 4071;
+ else return 4072;
+ else
+ if (Powered) return 4073;
+ else return 4074;
+ else
+ if (Locked)
+ if (Powered) return 4075;
+ else return 4076;
+ else
+ if (Powered) return 4077;
+ else return 4078;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Locked)
+ if (Powered) return 4079;
+ else return 4080;
+ else
+ if (Powered) return 4081;
+ else return 4082;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Locked)
+ if (Powered) return 4083;
+ else return 4084;
+ else
+ if (Powered) return 4085;
+ else return 4086;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Locked)
+ if (Powered) return 4087;
+ else return 4088;
+ else
+ if (Powered) return 4089;
+ else return 4090;
+ else
+ if (Locked)
+ if (Powered) return 4091;
+ else return 4092;
+ else
+ if (Powered) return 4093;
+ else return 4094;
+ }
+ BlockState Repeater();
+ unsigned char Delay(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Locked(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace RepeatingCommandBlock
+ {
+ constexpr BlockState RepeatingCommandBlock(const bool Conditional, const eBlockFace Facing)
+ {
+ if (Conditional)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9225;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9226;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9227;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9228;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9229;
+ else return 9230;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9231;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9232;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9233;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9234;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9235;
+ else return 9236;
+ }
+ BlockState RepeatingCommandBlock();
+ bool Conditional(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace RespawnAnchor
+ {
+ constexpr BlockState RespawnAnchor(const unsigned char Charges)
+ {
+ if (Charges == 0) return 15829;
+ else if (Charges == 1) return 15830;
+ else if (Charges == 2) return 15831;
+ else if (Charges == 3) return 15832;
+ else return 15833;
+ }
+ BlockState RespawnAnchor();
+ unsigned char Charges(BlockState Block);
+ }
+ namespace RoseBush
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ constexpr BlockState RoseBush(const enum Half Half)
+ {
+ if (Half == Half::Upper) return 7889;
+ else return 7890;
+ }
+ BlockState RoseBush();
+ enum Half Half(BlockState Block);
+ }
+ namespace Sand
+ {
+ constexpr BlockState Sand()
+ {
+ return 66;
+ }
+ }
+ namespace Sandstone
+ {
+ constexpr BlockState Sandstone()
+ {
+ return 246;
+ }
+ }
+ namespace SandstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState SandstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8349;
+ else if (Type == Type::Bottom) return 8351;
+ else return 8353;
+ }
+ BlockState SandstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace SandstoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState SandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5171;
+ else if (Shape == Shape::InnerLeft) return 5173;
+ else if (Shape == Shape::InnerRight) return 5175;
+ else if (Shape == Shape::OuterLeft) return 5177;
+ else return 5179;
+ else
+ if (Shape == Shape::Straight) return 5181;
+ else if (Shape == Shape::InnerLeft) return 5183;
+ else if (Shape == Shape::InnerRight) return 5185;
+ else if (Shape == Shape::OuterLeft) return 5187;
+ else return 5189;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5191;
+ else if (Shape == Shape::InnerLeft) return 5193;
+ else if (Shape == Shape::InnerRight) return 5195;
+ else if (Shape == Shape::OuterLeft) return 5197;
+ else return 5199;
+ else
+ if (Shape == Shape::Straight) return 5201;
+ else if (Shape == Shape::InnerLeft) return 5203;
+ else if (Shape == Shape::InnerRight) return 5205;
+ else if (Shape == Shape::OuterLeft) return 5207;
+ else return 5209;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5211;
+ else if (Shape == Shape::InnerLeft) return 5213;
+ else if (Shape == Shape::InnerRight) return 5215;
+ else if (Shape == Shape::OuterLeft) return 5217;
+ else return 5219;
+ else
+ if (Shape == Shape::Straight) return 5221;
+ else if (Shape == Shape::InnerLeft) return 5223;
+ else if (Shape == Shape::InnerRight) return 5225;
+ else if (Shape == Shape::OuterLeft) return 5227;
+ else return 5229;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5231;
+ else if (Shape == Shape::InnerLeft) return 5233;
+ else if (Shape == Shape::InnerRight) return 5235;
+ else if (Shape == Shape::OuterLeft) return 5237;
+ else return 5239;
+ else
+ if (Shape == Shape::Straight) return 5241;
+ else if (Shape == Shape::InnerLeft) return 5243;
+ else if (Shape == Shape::InnerRight) return 5245;
+ else if (Shape == Shape::OuterLeft) return 5247;
+ else return 5249;
+ }
+ BlockState SandstoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace SandstoneWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState SandstoneWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13786;
+ else if (West == West::Low) return 13787;
+ else return 13788;
+ else
+ if (West == West::None) return 13792;
+ else if (West == West::Low) return 13793;
+ else return 13794;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13798;
+ else if (West == West::Low) return 13799;
+ else return 13800;
+ else
+ if (West == West::None) return 13804;
+ else if (West == West::Low) return 13805;
+ else return 13806;
+ else
+ if (Up)
+ if (West == West::None) return 13810;
+ else if (West == West::Low) return 13811;
+ else return 13812;
+ else
+ if (West == West::None) return 13816;
+ else if (West == West::Low) return 13817;
+ else return 13818;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13822;
+ else if (West == West::Low) return 13823;
+ else return 13824;
+ else
+ if (West == West::None) return 13828;
+ else if (West == West::Low) return 13829;
+ else return 13830;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13834;
+ else if (West == West::Low) return 13835;
+ else return 13836;
+ else
+ if (West == West::None) return 13840;
+ else if (West == West::Low) return 13841;
+ else return 13842;
+ else
+ if (Up)
+ if (West == West::None) return 13846;
+ else if (West == West::Low) return 13847;
+ else return 13848;
+ else
+ if (West == West::None) return 13852;
+ else if (West == West::Low) return 13853;
+ else return 13854;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13858;
+ else if (West == West::Low) return 13859;
+ else return 13860;
+ else
+ if (West == West::None) return 13864;
+ else if (West == West::Low) return 13865;
+ else return 13866;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13870;
+ else if (West == West::Low) return 13871;
+ else return 13872;
+ else
+ if (West == West::None) return 13876;
+ else if (West == West::Low) return 13877;
+ else return 13878;
+ else
+ if (Up)
+ if (West == West::None) return 13882;
+ else if (West == West::Low) return 13883;
+ else return 13884;
+ else
+ if (West == West::None) return 13888;
+ else if (West == West::Low) return 13889;
+ else return 13890;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13894;
+ else if (West == West::Low) return 13895;
+ else return 13896;
+ else
+ if (West == West::None) return 13900;
+ else if (West == West::Low) return 13901;
+ else return 13902;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13906;
+ else if (West == West::Low) return 13907;
+ else return 13908;
+ else
+ if (West == West::None) return 13912;
+ else if (West == West::Low) return 13913;
+ else return 13914;
+ else
+ if (Up)
+ if (West == West::None) return 13918;
+ else if (West == West::Low) return 13919;
+ else return 13920;
+ else
+ if (West == West::None) return 13924;
+ else if (West == West::Low) return 13925;
+ else return 13926;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13930;
+ else if (West == West::Low) return 13931;
+ else return 13932;
+ else
+ if (West == West::None) return 13936;
+ else if (West == West::Low) return 13937;
+ else return 13938;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13942;
+ else if (West == West::Low) return 13943;
+ else return 13944;
+ else
+ if (West == West::None) return 13948;
+ else if (West == West::Low) return 13949;
+ else return 13950;
+ else
+ if (Up)
+ if (West == West::None) return 13954;
+ else if (West == West::Low) return 13955;
+ else return 13956;
+ else
+ if (West == West::None) return 13960;
+ else if (West == West::Low) return 13961;
+ else return 13962;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 13966;
+ else if (West == West::Low) return 13967;
+ else return 13968;
+ else
+ if (West == West::None) return 13972;
+ else if (West == West::Low) return 13973;
+ else return 13974;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 13978;
+ else if (West == West::Low) return 13979;
+ else return 13980;
+ else
+ if (West == West::None) return 13984;
+ else if (West == West::Low) return 13985;
+ else return 13986;
+ else
+ if (Up)
+ if (West == West::None) return 13990;
+ else if (West == West::Low) return 13991;
+ else return 13992;
+ else
+ if (West == West::None) return 13996;
+ else if (West == West::Low) return 13997;
+ else return 13998;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14002;
+ else if (West == West::Low) return 14003;
+ else return 14004;
+ else
+ if (West == West::None) return 14008;
+ else if (West == West::Low) return 14009;
+ else return 14010;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14014;
+ else if (West == West::Low) return 14015;
+ else return 14016;
+ else
+ if (West == West::None) return 14020;
+ else if (West == West::Low) return 14021;
+ else return 14022;
+ else
+ if (Up)
+ if (West == West::None) return 14026;
+ else if (West == West::Low) return 14027;
+ else return 14028;
+ else
+ if (West == West::None) return 14032;
+ else if (West == West::Low) return 14033;
+ else return 14034;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14038;
+ else if (West == West::Low) return 14039;
+ else return 14040;
+ else
+ if (West == West::None) return 14044;
+ else if (West == West::Low) return 14045;
+ else return 14046;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14050;
+ else if (West == West::Low) return 14051;
+ else return 14052;
+ else
+ if (West == West::None) return 14056;
+ else if (West == West::Low) return 14057;
+ else return 14058;
+ else
+ if (Up)
+ if (West == West::None) return 14062;
+ else if (West == West::Low) return 14063;
+ else return 14064;
+ else
+ if (West == West::None) return 14068;
+ else if (West == West::Low) return 14069;
+ else return 14070;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 14074;
+ else if (West == West::Low) return 14075;
+ else return 14076;
+ else
+ if (West == West::None) return 14080;
+ else if (West == West::Low) return 14081;
+ else return 14082;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 14086;
+ else if (West == West::Low) return 14087;
+ else return 14088;
+ else
+ if (West == West::None) return 14092;
+ else if (West == West::Low) return 14093;
+ else return 14094;
+ else
+ if (Up)
+ if (West == West::None) return 14098;
+ else if (West == West::Low) return 14099;
+ else return 14100;
+ else
+ if (West == West::None) return 14104;
+ else if (West == West::Low) return 14105;
+ else return 14106;
+ }
+ BlockState SandstoneWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace Scaffolding
+ {
+ constexpr BlockState Scaffolding(const bool Bottom, const unsigned char Distance)
+ {
+ if (Bottom)
+ if (Distance == 0) return 14756;
+ else if (Distance == 1) return 14758;
+ else if (Distance == 2) return 14760;
+ else if (Distance == 3) return 14762;
+ else if (Distance == 4) return 14764;
+ else if (Distance == 5) return 14766;
+ else if (Distance == 6) return 14768;
+ else return 14770;
+ else
+ if (Distance == 0) return 14772;
+ else if (Distance == 1) return 14774;
+ else if (Distance == 2) return 14776;
+ else if (Distance == 3) return 14778;
+ else if (Distance == 4) return 14780;
+ else if (Distance == 5) return 14782;
+ else if (Distance == 6) return 14784;
+ else return 14786;
+ }
+ BlockState Scaffolding();
+ bool Bottom(BlockState Block);
+ unsigned char Distance(BlockState Block);
+ }
+ namespace SeaLantern
+ {
+ constexpr BlockState SeaLantern()
+ {
+ return 7862;
+ }
+ }
+ namespace SeaPickle
+ {
+ constexpr BlockState SeaPickle(const unsigned char Pickles)
+ {
+ if (Pickles == 1) return 9641;
+ else if (Pickles == 2) return 9643;
+ else if (Pickles == 3) return 9645;
+ else return 9647;
+ }
+ BlockState SeaPickle();
+ unsigned char Pickles(BlockState Block);
+ }
+ namespace Seagrass
+ {
+ constexpr BlockState Seagrass()
+ {
+ return 1345;
+ }
+ }
+ namespace Shroomlight
+ {
+ constexpr BlockState Shroomlight()
+ {
+ return 14989;
+ }
+ }
+ namespace ShulkerBox
+ {
+ constexpr BlockState ShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9272;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9273;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9274;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9275;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9276;
+ else return 9277;
+ }
+ BlockState ShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace SkeletonSkull
+ {
+ constexpr BlockState SkeletonSkull(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 6490;
+ else if (Rotation == 1) return 6491;
+ else if (Rotation == 2) return 6492;
+ else if (Rotation == 3) return 6493;
+ else if (Rotation == 4) return 6494;
+ else if (Rotation == 5) return 6495;
+ else if (Rotation == 6) return 6496;
+ else if (Rotation == 7) return 6497;
+ else if (Rotation == 8) return 6498;
+ else if (Rotation == 9) return 6499;
+ else if (Rotation == 10) return 6500;
+ else if (Rotation == 11) return 6501;
+ else if (Rotation == 12) return 6502;
+ else if (Rotation == 13) return 6503;
+ else if (Rotation == 14) return 6504;
+ else return 6505;
+ }
+ BlockState SkeletonSkull();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace SkeletonWallSkull
+ {
+ constexpr BlockState SkeletonWallSkull(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6506;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6507;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6508;
+ else return 6509;
+ }
+ BlockState SkeletonWallSkull();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace SlimeBlock
+ {
+ constexpr BlockState SlimeBlock()
+ {
+ return 7535;
+ }
+ }
+ namespace SmithingTable
+ {
+ constexpr BlockState SmithingTable()
+ {
+ return 14849;
+ }
+ }
+ namespace Smoker
+ {
+ constexpr BlockState Smoker(const eBlockFace Facing, const bool Lit)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Lit) return 14803;
+ else return 14804;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Lit) return 14805;
+ else return 14806;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Lit) return 14807;
+ else return 14808;
+ else
+ if (Lit) return 14809;
+ else return 14810;
+ }
+ BlockState Smoker();
+ eBlockFace Facing(BlockState Block);
+ bool Lit(BlockState Block);
+ }
+ namespace SmoothQuartz
+ {
+ constexpr BlockState SmoothQuartz()
+ {
+ return 8416;
+ }
+ }
+ namespace SmoothQuartzSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState SmoothQuartzSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10832;
+ else if (Type == Type::Bottom) return 10834;
+ else return 10836;
+ }
+ BlockState SmoothQuartzSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace SmoothQuartzStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState SmoothQuartzStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10310;
+ else if (Shape == Shape::InnerLeft) return 10312;
+ else if (Shape == Shape::InnerRight) return 10314;
+ else if (Shape == Shape::OuterLeft) return 10316;
+ else return 10318;
+ else
+ if (Shape == Shape::Straight) return 10320;
+ else if (Shape == Shape::InnerLeft) return 10322;
+ else if (Shape == Shape::InnerRight) return 10324;
+ else if (Shape == Shape::OuterLeft) return 10326;
+ else return 10328;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10330;
+ else if (Shape == Shape::InnerLeft) return 10332;
+ else if (Shape == Shape::InnerRight) return 10334;
+ else if (Shape == Shape::OuterLeft) return 10336;
+ else return 10338;
+ else
+ if (Shape == Shape::Straight) return 10340;
+ else if (Shape == Shape::InnerLeft) return 10342;
+ else if (Shape == Shape::InnerRight) return 10344;
+ else if (Shape == Shape::OuterLeft) return 10346;
+ else return 10348;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10350;
+ else if (Shape == Shape::InnerLeft) return 10352;
+ else if (Shape == Shape::InnerRight) return 10354;
+ else if (Shape == Shape::OuterLeft) return 10356;
+ else return 10358;
+ else
+ if (Shape == Shape::Straight) return 10360;
+ else if (Shape == Shape::InnerLeft) return 10362;
+ else if (Shape == Shape::InnerRight) return 10364;
+ else if (Shape == Shape::OuterLeft) return 10366;
+ else return 10368;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10370;
+ else if (Shape == Shape::InnerLeft) return 10372;
+ else if (Shape == Shape::InnerRight) return 10374;
+ else if (Shape == Shape::OuterLeft) return 10376;
+ else return 10378;
+ else
+ if (Shape == Shape::Straight) return 10380;
+ else if (Shape == Shape::InnerLeft) return 10382;
+ else if (Shape == Shape::InnerRight) return 10384;
+ else if (Shape == Shape::OuterLeft) return 10386;
+ else return 10388;
+ }
+ BlockState SmoothQuartzStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace SmoothRedSandstone
+ {
+ constexpr BlockState SmoothRedSandstone()
+ {
+ return 8417;
+ }
+ }
+ namespace SmoothRedSandstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState SmoothRedSandstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10796;
+ else if (Type == Type::Bottom) return 10798;
+ else return 10800;
+ }
+ BlockState SmoothRedSandstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace SmoothRedSandstoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState SmoothRedSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9750;
+ else if (Shape == Shape::InnerLeft) return 9752;
+ else if (Shape == Shape::InnerRight) return 9754;
+ else if (Shape == Shape::OuterLeft) return 9756;
+ else return 9758;
+ else
+ if (Shape == Shape::Straight) return 9760;
+ else if (Shape == Shape::InnerLeft) return 9762;
+ else if (Shape == Shape::InnerRight) return 9764;
+ else if (Shape == Shape::OuterLeft) return 9766;
+ else return 9768;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9770;
+ else if (Shape == Shape::InnerLeft) return 9772;
+ else if (Shape == Shape::InnerRight) return 9774;
+ else if (Shape == Shape::OuterLeft) return 9776;
+ else return 9778;
+ else
+ if (Shape == Shape::Straight) return 9780;
+ else if (Shape == Shape::InnerLeft) return 9782;
+ else if (Shape == Shape::InnerRight) return 9784;
+ else if (Shape == Shape::OuterLeft) return 9786;
+ else return 9788;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9790;
+ else if (Shape == Shape::InnerLeft) return 9792;
+ else if (Shape == Shape::InnerRight) return 9794;
+ else if (Shape == Shape::OuterLeft) return 9796;
+ else return 9798;
+ else
+ if (Shape == Shape::Straight) return 9800;
+ else if (Shape == Shape::InnerLeft) return 9802;
+ else if (Shape == Shape::InnerRight) return 9804;
+ else if (Shape == Shape::OuterLeft) return 9806;
+ else return 9808;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 9810;
+ else if (Shape == Shape::InnerLeft) return 9812;
+ else if (Shape == Shape::InnerRight) return 9814;
+ else if (Shape == Shape::OuterLeft) return 9816;
+ else return 9818;
+ else
+ if (Shape == Shape::Straight) return 9820;
+ else if (Shape == Shape::InnerLeft) return 9822;
+ else if (Shape == Shape::InnerRight) return 9824;
+ else if (Shape == Shape::OuterLeft) return 9826;
+ else return 9828;
+ }
+ BlockState SmoothRedSandstoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace SmoothSandstone
+ {
+ constexpr BlockState SmoothSandstone()
+ {
+ return 8415;
+ }
+ }
+ namespace SmoothSandstoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState SmoothSandstoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 10826;
+ else if (Type == Type::Bottom) return 10828;
+ else return 10830;
+ }
+ BlockState SmoothSandstoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace SmoothSandstoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState SmoothSandstoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10230;
+ else if (Shape == Shape::InnerLeft) return 10232;
+ else if (Shape == Shape::InnerRight) return 10234;
+ else if (Shape == Shape::OuterLeft) return 10236;
+ else return 10238;
+ else
+ if (Shape == Shape::Straight) return 10240;
+ else if (Shape == Shape::InnerLeft) return 10242;
+ else if (Shape == Shape::InnerRight) return 10244;
+ else if (Shape == Shape::OuterLeft) return 10246;
+ else return 10248;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10250;
+ else if (Shape == Shape::InnerLeft) return 10252;
+ else if (Shape == Shape::InnerRight) return 10254;
+ else if (Shape == Shape::OuterLeft) return 10256;
+ else return 10258;
+ else
+ if (Shape == Shape::Straight) return 10260;
+ else if (Shape == Shape::InnerLeft) return 10262;
+ else if (Shape == Shape::InnerRight) return 10264;
+ else if (Shape == Shape::OuterLeft) return 10266;
+ else return 10268;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10270;
+ else if (Shape == Shape::InnerLeft) return 10272;
+ else if (Shape == Shape::InnerRight) return 10274;
+ else if (Shape == Shape::OuterLeft) return 10276;
+ else return 10278;
+ else
+ if (Shape == Shape::Straight) return 10280;
+ else if (Shape == Shape::InnerLeft) return 10282;
+ else if (Shape == Shape::InnerRight) return 10284;
+ else if (Shape == Shape::OuterLeft) return 10286;
+ else return 10288;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10290;
+ else if (Shape == Shape::InnerLeft) return 10292;
+ else if (Shape == Shape::InnerRight) return 10294;
+ else if (Shape == Shape::OuterLeft) return 10296;
+ else return 10298;
+ else
+ if (Shape == Shape::Straight) return 10300;
+ else if (Shape == Shape::InnerLeft) return 10302;
+ else if (Shape == Shape::InnerRight) return 10304;
+ else if (Shape == Shape::OuterLeft) return 10306;
+ else return 10308;
+ }
+ BlockState SmoothSandstoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace SmoothStone
+ {
+ constexpr BlockState SmoothStone()
+ {
+ return 8414;
+ }
+ }
+ namespace SmoothStoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState SmoothStoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8343;
+ else if (Type == Type::Bottom) return 8345;
+ else return 8347;
+ }
+ BlockState SmoothStoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace Snow
+ {
+ constexpr BlockState Snow(const unsigned char Layers)
+ {
+ if (Layers == 1) return 3921;
+ else if (Layers == 2) return 3922;
+ else if (Layers == 3) return 3923;
+ else if (Layers == 4) return 3924;
+ else if (Layers == 5) return 3925;
+ else if (Layers == 6) return 3926;
+ else if (Layers == 7) return 3927;
+ else return 3928;
+ }
+ BlockState Snow();
+ unsigned char Layers(BlockState Block);
+ }
+ namespace SnowBlock
+ {
+ constexpr BlockState SnowBlock()
+ {
+ return 3930;
+ }
+ }
+ namespace SoulCampfire
+ {
+ constexpr BlockState SoulCampfire(const eBlockFace Facing, const bool Lit, const bool SignalFire)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Lit)
+ if (SignalFire) return 14923;
+ else return 14925;
+ else
+ if (SignalFire) return 14927;
+ else return 14929;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Lit)
+ if (SignalFire) return 14931;
+ else return 14933;
+ else
+ if (SignalFire) return 14935;
+ else return 14937;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Lit)
+ if (SignalFire) return 14939;
+ else return 14941;
+ else
+ if (SignalFire) return 14943;
+ else return 14945;
+ else
+ if (Lit)
+ if (SignalFire) return 14947;
+ else return 14949;
+ else
+ if (SignalFire) return 14951;
+ else return 14953;
+ }
+ BlockState SoulCampfire();
+ eBlockFace Facing(BlockState Block);
+ bool Lit(BlockState Block);
+ bool SignalFire(BlockState Block);
+ }
+ namespace SoulFire
+ {
+ constexpr BlockState SoulFire()
+ {
+ return 1952;
+ }
+ }
+ namespace SoulLantern
+ {
+ constexpr BlockState SoulLantern(const bool Hanging)
+ {
+ if (Hanging) return 14888;
+ else return 14889;
+ }
+ BlockState SoulLantern();
+ bool Hanging(BlockState Block);
+ }
+ namespace SoulSand
+ {
+ constexpr BlockState SoulSand()
+ {
+ return 4000;
+ }
+ }
+ namespace SoulSoil
+ {
+ constexpr BlockState SoulSoil()
+ {
+ return 4001;
+ }
+ }
+ namespace SoulTorch
+ {
+ constexpr BlockState SoulTorch()
+ {
+ return 4008;
+ }
+ }
+ namespace SoulWallTorch
+ {
+ constexpr BlockState SoulWallTorch(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 4009;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 4010;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 4011;
+ else return 4012;
+ }
+ BlockState SoulWallTorch();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Spawner
+ {
+ constexpr BlockState Spawner()
+ {
+ return 1953;
+ }
+ }
+ namespace Sponge
+ {
+ constexpr BlockState Sponge()
+ {
+ return 229;
+ }
+ }
+ namespace SpruceButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState SpruceButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6370;
+ else return 6371;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6372;
+ else return 6373;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6374;
+ else return 6375;
+ else
+ if (Powered) return 6376;
+ else return 6377;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6378;
+ else return 6379;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6380;
+ else return 6381;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6382;
+ else return 6383;
+ else
+ if (Powered) return 6384;
+ else return 6385;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 6386;
+ else return 6387;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 6388;
+ else return 6389;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 6390;
+ else return 6391;
+ else
+ if (Powered) return 6392;
+ else return 6393;
+ }
+ BlockState SpruceButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace SpruceDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState SpruceDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8738;
+ else return 8739;
+ else
+ if (Powered) return 8740;
+ else return 8741;
+ else
+ if (Open)
+ if (Powered) return 8742;
+ else return 8743;
+ else
+ if (Powered) return 8744;
+ else return 8745;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8746;
+ else return 8747;
+ else
+ if (Powered) return 8748;
+ else return 8749;
+ else
+ if (Open)
+ if (Powered) return 8750;
+ else return 8751;
+ else
+ if (Powered) return 8752;
+ else return 8753;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8754;
+ else return 8755;
+ else
+ if (Powered) return 8756;
+ else return 8757;
+ else
+ if (Open)
+ if (Powered) return 8758;
+ else return 8759;
+ else
+ if (Powered) return 8760;
+ else return 8761;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8762;
+ else return 8763;
+ else
+ if (Powered) return 8764;
+ else return 8765;
+ else
+ if (Open)
+ if (Powered) return 8766;
+ else return 8767;
+ else
+ if (Powered) return 8768;
+ else return 8769;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8770;
+ else return 8771;
+ else
+ if (Powered) return 8772;
+ else return 8773;
+ else
+ if (Open)
+ if (Powered) return 8774;
+ else return 8775;
+ else
+ if (Powered) return 8776;
+ else return 8777;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8778;
+ else return 8779;
+ else
+ if (Powered) return 8780;
+ else return 8781;
+ else
+ if (Open)
+ if (Powered) return 8782;
+ else return 8783;
+ else
+ if (Powered) return 8784;
+ else return 8785;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8786;
+ else return 8787;
+ else
+ if (Powered) return 8788;
+ else return 8789;
+ else
+ if (Open)
+ if (Powered) return 8790;
+ else return 8791;
+ else
+ if (Powered) return 8792;
+ else return 8793;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 8794;
+ else return 8795;
+ else
+ if (Powered) return 8796;
+ else return 8797;
+ else
+ if (Open)
+ if (Powered) return 8798;
+ else return 8799;
+ else
+ if (Powered) return 8800;
+ else return 8801;
+ }
+ BlockState SpruceDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace SpruceFence
+ {
+ constexpr BlockState SpruceFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 8580;
+ else return 8581;
+ else
+ if (West) return 8584;
+ else return 8585;
+ else
+ if (South)
+ if (West) return 8588;
+ else return 8589;
+ else
+ if (West) return 8592;
+ else return 8593;
+ else
+ if (North)
+ if (South)
+ if (West) return 8596;
+ else return 8597;
+ else
+ if (West) return 8600;
+ else return 8601;
+ else
+ if (South)
+ if (West) return 8604;
+ else return 8605;
+ else
+ if (West) return 8608;
+ else return 8609;
+ }
+ BlockState SpruceFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace SpruceFenceGate
+ {
+ constexpr BlockState SpruceFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8418;
+ else return 8419;
+ else
+ if (Powered) return 8420;
+ else return 8421;
+ else
+ if (Open)
+ if (Powered) return 8422;
+ else return 8423;
+ else
+ if (Powered) return 8424;
+ else return 8425;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8426;
+ else return 8427;
+ else
+ if (Powered) return 8428;
+ else return 8429;
+ else
+ if (Open)
+ if (Powered) return 8430;
+ else return 8431;
+ else
+ if (Powered) return 8432;
+ else return 8433;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 8434;
+ else return 8435;
+ else
+ if (Powered) return 8436;
+ else return 8437;
+ else
+ if (Open)
+ if (Powered) return 8438;
+ else return 8439;
+ else
+ if (Powered) return 8440;
+ else return 8441;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 8442;
+ else return 8443;
+ else
+ if (Powered) return 8444;
+ else return 8445;
+ else
+ if (Open)
+ if (Powered) return 8446;
+ else return 8447;
+ else
+ if (Powered) return 8448;
+ else return 8449;
+ }
+ BlockState SpruceFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace SpruceLeaves
+ {
+ constexpr BlockState SpruceLeaves(const unsigned char Distance, const bool Persistent)
+ {
+ if (Distance == 1)
+ if (Persistent) return 159;
+ else return 160;
+ else if (Distance == 2)
+ if (Persistent) return 161;
+ else return 162;
+ else if (Distance == 3)
+ if (Persistent) return 163;
+ else return 164;
+ else if (Distance == 4)
+ if (Persistent) return 165;
+ else return 166;
+ else if (Distance == 5)
+ if (Persistent) return 167;
+ else return 168;
+ else if (Distance == 6)
+ if (Persistent) return 169;
+ else return 170;
+ else
+ if (Persistent) return 171;
+ else return 172;
+ }
+ BlockState SpruceLeaves();
+ unsigned char Distance(BlockState Block);
+ bool Persistent(BlockState Block);
+ }
+ namespace SpruceLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState SpruceLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 76;
+ else if (Axis == Axis::Y) return 77;
+ else return 78;
+ }
+ BlockState SpruceLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace SprucePlanks
+ {
+ constexpr BlockState SprucePlanks()
+ {
+ return 16;
+ }
+ }
+ namespace SprucePressurePlate
+ {
+ constexpr BlockState SprucePressurePlate(const bool Powered)
+ {
+ if (Powered) return 3875;
+ else return 3876;
+ }
+ BlockState SprucePressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace SpruceSapling
+ {
+ constexpr BlockState SpruceSapling(const unsigned char Stage)
+ {
+ if (Stage == 0) return 23;
+ else return 24;
+ }
+ BlockState SpruceSapling();
+ unsigned char Stage(BlockState Block);
+ }
+ namespace SpruceSign
+ {
+ constexpr BlockState SpruceSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 3414;
+ else if (Rotation == 1) return 3416;
+ else if (Rotation == 2) return 3418;
+ else if (Rotation == 3) return 3420;
+ else if (Rotation == 4) return 3422;
+ else if (Rotation == 5) return 3424;
+ else if (Rotation == 6) return 3426;
+ else if (Rotation == 7) return 3428;
+ else if (Rotation == 8) return 3430;
+ else if (Rotation == 9) return 3432;
+ else if (Rotation == 10) return 3434;
+ else if (Rotation == 11) return 3436;
+ else if (Rotation == 12) return 3438;
+ else if (Rotation == 13) return 3440;
+ else if (Rotation == 14) return 3442;
+ else return 3444;
+ }
+ BlockState SpruceSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace SpruceSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState SpruceSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8307;
+ else if (Type == Type::Bottom) return 8309;
+ else return 8311;
+ }
+ BlockState SpruceSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace SpruceStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState SpruceStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5405;
+ else if (Shape == Shape::InnerLeft) return 5407;
+ else if (Shape == Shape::InnerRight) return 5409;
+ else if (Shape == Shape::OuterLeft) return 5411;
+ else return 5413;
+ else
+ if (Shape == Shape::Straight) return 5415;
+ else if (Shape == Shape::InnerLeft) return 5417;
+ else if (Shape == Shape::InnerRight) return 5419;
+ else if (Shape == Shape::OuterLeft) return 5421;
+ else return 5423;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5425;
+ else if (Shape == Shape::InnerLeft) return 5427;
+ else if (Shape == Shape::InnerRight) return 5429;
+ else if (Shape == Shape::OuterLeft) return 5431;
+ else return 5433;
+ else
+ if (Shape == Shape::Straight) return 5435;
+ else if (Shape == Shape::InnerLeft) return 5437;
+ else if (Shape == Shape::InnerRight) return 5439;
+ else if (Shape == Shape::OuterLeft) return 5441;
+ else return 5443;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5445;
+ else if (Shape == Shape::InnerLeft) return 5447;
+ else if (Shape == Shape::InnerRight) return 5449;
+ else if (Shape == Shape::OuterLeft) return 5451;
+ else return 5453;
+ else
+ if (Shape == Shape::Straight) return 5455;
+ else if (Shape == Shape::InnerLeft) return 5457;
+ else if (Shape == Shape::InnerRight) return 5459;
+ else if (Shape == Shape::OuterLeft) return 5461;
+ else return 5463;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 5465;
+ else if (Shape == Shape::InnerLeft) return 5467;
+ else if (Shape == Shape::InnerRight) return 5469;
+ else if (Shape == Shape::OuterLeft) return 5471;
+ else return 5473;
+ else
+ if (Shape == Shape::Straight) return 5475;
+ else if (Shape == Shape::InnerLeft) return 5477;
+ else if (Shape == Shape::InnerRight) return 5479;
+ else if (Shape == Shape::OuterLeft) return 5481;
+ else return 5483;
+ }
+ BlockState SpruceStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace SpruceTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState SpruceTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4176;
+ else return 4178;
+ else
+ if (Powered) return 4180;
+ else return 4182;
+ else
+ if (Open)
+ if (Powered) return 4184;
+ else return 4186;
+ else
+ if (Powered) return 4188;
+ else return 4190;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4192;
+ else return 4194;
+ else
+ if (Powered) return 4196;
+ else return 4198;
+ else
+ if (Open)
+ if (Powered) return 4200;
+ else return 4202;
+ else
+ if (Powered) return 4204;
+ else return 4206;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4208;
+ else return 4210;
+ else
+ if (Powered) return 4212;
+ else return 4214;
+ else
+ if (Open)
+ if (Powered) return 4216;
+ else return 4218;
+ else
+ if (Powered) return 4220;
+ else return 4222;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 4224;
+ else return 4226;
+ else
+ if (Powered) return 4228;
+ else return 4230;
+ else
+ if (Open)
+ if (Powered) return 4232;
+ else return 4234;
+ else
+ if (Powered) return 4236;
+ else return 4238;
+ }
+ BlockState SpruceTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace SpruceWallSign
+ {
+ constexpr BlockState SpruceWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 3744;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 3746;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 3748;
+ else return 3750;
+ }
+ BlockState SpruceWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace SpruceWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState SpruceWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 112;
+ else if (Axis == Axis::Y) return 113;
+ else return 114;
+ }
+ BlockState SpruceWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StickyPiston
+ {
+ constexpr BlockState StickyPiston(const bool Extended, const eBlockFace Facing)
+ {
+ if (Extended)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1329;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1330;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1331;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1332;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1333;
+ else return 1334;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1335;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 1336;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1337;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1338;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 1339;
+ else return 1340;
+ }
+ BlockState StickyPiston();
+ bool Extended(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace Stone
+ {
+ constexpr BlockState Stone()
+ {
+ return 1;
+ }
+ }
+ namespace StoneBrickSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState StoneBrickSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8379;
+ else if (Type == Type::Bottom) return 8381;
+ else return 8383;
+ }
+ BlockState StoneBrickSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace StoneBrickStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState StoneBrickStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4933;
+ else if (Shape == Shape::InnerLeft) return 4935;
+ else if (Shape == Shape::InnerRight) return 4937;
+ else if (Shape == Shape::OuterLeft) return 4939;
+ else return 4941;
+ else
+ if (Shape == Shape::Straight) return 4943;
+ else if (Shape == Shape::InnerLeft) return 4945;
+ else if (Shape == Shape::InnerRight) return 4947;
+ else if (Shape == Shape::OuterLeft) return 4949;
+ else return 4951;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4953;
+ else if (Shape == Shape::InnerLeft) return 4955;
+ else if (Shape == Shape::InnerRight) return 4957;
+ else if (Shape == Shape::OuterLeft) return 4959;
+ else return 4961;
+ else
+ if (Shape == Shape::Straight) return 4963;
+ else if (Shape == Shape::InnerLeft) return 4965;
+ else if (Shape == Shape::InnerRight) return 4967;
+ else if (Shape == Shape::OuterLeft) return 4969;
+ else return 4971;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4973;
+ else if (Shape == Shape::InnerLeft) return 4975;
+ else if (Shape == Shape::InnerRight) return 4977;
+ else if (Shape == Shape::OuterLeft) return 4979;
+ else return 4981;
+ else
+ if (Shape == Shape::Straight) return 4983;
+ else if (Shape == Shape::InnerLeft) return 4985;
+ else if (Shape == Shape::InnerRight) return 4987;
+ else if (Shape == Shape::OuterLeft) return 4989;
+ else return 4991;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 4993;
+ else if (Shape == Shape::InnerLeft) return 4995;
+ else if (Shape == Shape::InnerRight) return 4997;
+ else if (Shape == Shape::OuterLeft) return 4999;
+ else return 5001;
+ else
+ if (Shape == Shape::Straight) return 5003;
+ else if (Shape == Shape::InnerLeft) return 5005;
+ else if (Shape == Shape::InnerRight) return 5007;
+ else if (Shape == Shape::OuterLeft) return 5009;
+ else return 5011;
+ }
+ BlockState StoneBrickStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace StoneBrickWall
+ {
+ enum class East
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class North
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class South
+ {
+ None,
+ Low,
+ Tall
+ };
+ enum class West
+ {
+ None,
+ Low,
+ Tall
+ };
+ constexpr BlockState StoneBrickWall(const enum East East, const enum North North, const enum South South, const bool Up, const enum West West)
+ {
+ if (East == East::None)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12490;
+ else if (West == West::Low) return 12491;
+ else return 12492;
+ else
+ if (West == West::None) return 12496;
+ else if (West == West::Low) return 12497;
+ else return 12498;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12502;
+ else if (West == West::Low) return 12503;
+ else return 12504;
+ else
+ if (West == West::None) return 12508;
+ else if (West == West::Low) return 12509;
+ else return 12510;
+ else
+ if (Up)
+ if (West == West::None) return 12514;
+ else if (West == West::Low) return 12515;
+ else return 12516;
+ else
+ if (West == West::None) return 12520;
+ else if (West == West::Low) return 12521;
+ else return 12522;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12526;
+ else if (West == West::Low) return 12527;
+ else return 12528;
+ else
+ if (West == West::None) return 12532;
+ else if (West == West::Low) return 12533;
+ else return 12534;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12538;
+ else if (West == West::Low) return 12539;
+ else return 12540;
+ else
+ if (West == West::None) return 12544;
+ else if (West == West::Low) return 12545;
+ else return 12546;
+ else
+ if (Up)
+ if (West == West::None) return 12550;
+ else if (West == West::Low) return 12551;
+ else return 12552;
+ else
+ if (West == West::None) return 12556;
+ else if (West == West::Low) return 12557;
+ else return 12558;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12562;
+ else if (West == West::Low) return 12563;
+ else return 12564;
+ else
+ if (West == West::None) return 12568;
+ else if (West == West::Low) return 12569;
+ else return 12570;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12574;
+ else if (West == West::Low) return 12575;
+ else return 12576;
+ else
+ if (West == West::None) return 12580;
+ else if (West == West::Low) return 12581;
+ else return 12582;
+ else
+ if (Up)
+ if (West == West::None) return 12586;
+ else if (West == West::Low) return 12587;
+ else return 12588;
+ else
+ if (West == West::None) return 12592;
+ else if (West == West::Low) return 12593;
+ else return 12594;
+ else if (East == East::Low)
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12598;
+ else if (West == West::Low) return 12599;
+ else return 12600;
+ else
+ if (West == West::None) return 12604;
+ else if (West == West::Low) return 12605;
+ else return 12606;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12610;
+ else if (West == West::Low) return 12611;
+ else return 12612;
+ else
+ if (West == West::None) return 12616;
+ else if (West == West::Low) return 12617;
+ else return 12618;
+ else
+ if (Up)
+ if (West == West::None) return 12622;
+ else if (West == West::Low) return 12623;
+ else return 12624;
+ else
+ if (West == West::None) return 12628;
+ else if (West == West::Low) return 12629;
+ else return 12630;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12634;
+ else if (West == West::Low) return 12635;
+ else return 12636;
+ else
+ if (West == West::None) return 12640;
+ else if (West == West::Low) return 12641;
+ else return 12642;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12646;
+ else if (West == West::Low) return 12647;
+ else return 12648;
+ else
+ if (West == West::None) return 12652;
+ else if (West == West::Low) return 12653;
+ else return 12654;
+ else
+ if (Up)
+ if (West == West::None) return 12658;
+ else if (West == West::Low) return 12659;
+ else return 12660;
+ else
+ if (West == West::None) return 12664;
+ else if (West == West::Low) return 12665;
+ else return 12666;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12670;
+ else if (West == West::Low) return 12671;
+ else return 12672;
+ else
+ if (West == West::None) return 12676;
+ else if (West == West::Low) return 12677;
+ else return 12678;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12682;
+ else if (West == West::Low) return 12683;
+ else return 12684;
+ else
+ if (West == West::None) return 12688;
+ else if (West == West::Low) return 12689;
+ else return 12690;
+ else
+ if (Up)
+ if (West == West::None) return 12694;
+ else if (West == West::Low) return 12695;
+ else return 12696;
+ else
+ if (West == West::None) return 12700;
+ else if (West == West::Low) return 12701;
+ else return 12702;
+ else
+ if (North == North::None)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12706;
+ else if (West == West::Low) return 12707;
+ else return 12708;
+ else
+ if (West == West::None) return 12712;
+ else if (West == West::Low) return 12713;
+ else return 12714;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12718;
+ else if (West == West::Low) return 12719;
+ else return 12720;
+ else
+ if (West == West::None) return 12724;
+ else if (West == West::Low) return 12725;
+ else return 12726;
+ else
+ if (Up)
+ if (West == West::None) return 12730;
+ else if (West == West::Low) return 12731;
+ else return 12732;
+ else
+ if (West == West::None) return 12736;
+ else if (West == West::Low) return 12737;
+ else return 12738;
+ else if (North == North::Low)
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12742;
+ else if (West == West::Low) return 12743;
+ else return 12744;
+ else
+ if (West == West::None) return 12748;
+ else if (West == West::Low) return 12749;
+ else return 12750;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12754;
+ else if (West == West::Low) return 12755;
+ else return 12756;
+ else
+ if (West == West::None) return 12760;
+ else if (West == West::Low) return 12761;
+ else return 12762;
+ else
+ if (Up)
+ if (West == West::None) return 12766;
+ else if (West == West::Low) return 12767;
+ else return 12768;
+ else
+ if (West == West::None) return 12772;
+ else if (West == West::Low) return 12773;
+ else return 12774;
+ else
+ if (South == South::None)
+ if (Up)
+ if (West == West::None) return 12778;
+ else if (West == West::Low) return 12779;
+ else return 12780;
+ else
+ if (West == West::None) return 12784;
+ else if (West == West::Low) return 12785;
+ else return 12786;
+ else if (South == South::Low)
+ if (Up)
+ if (West == West::None) return 12790;
+ else if (West == West::Low) return 12791;
+ else return 12792;
+ else
+ if (West == West::None) return 12796;
+ else if (West == West::Low) return 12797;
+ else return 12798;
+ else
+ if (Up)
+ if (West == West::None) return 12802;
+ else if (West == West::Low) return 12803;
+ else return 12804;
+ else
+ if (West == West::None) return 12808;
+ else if (West == West::Low) return 12809;
+ else return 12810;
+ }
+ BlockState StoneBrickWall();
+ enum East East(BlockState Block);
+ enum North North(BlockState Block);
+ enum South South(BlockState Block);
+ bool Up(BlockState Block);
+ enum West West(BlockState Block);
+ }
+ namespace StoneBricks
+ {
+ constexpr BlockState StoneBricks()
+ {
+ return 4495;
+ }
+ }
+ namespace StoneButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState StoneButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 3897;
+ else return 3898;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 3899;
+ else return 3900;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 3901;
+ else return 3902;
+ else
+ if (Powered) return 3903;
+ else return 3904;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 3905;
+ else return 3906;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 3907;
+ else return 3908;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 3909;
+ else return 3910;
+ else
+ if (Powered) return 3911;
+ else return 3912;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 3913;
+ else return 3914;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 3915;
+ else return 3916;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 3917;
+ else return 3918;
+ else
+ if (Powered) return 3919;
+ else return 3920;
+ }
+ BlockState StoneButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace StonePressurePlate
+ {
+ constexpr BlockState StonePressurePlate(const bool Powered)
+ {
+ if (Powered) return 3807;
+ else return 3808;
+ }
+ BlockState StonePressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace StoneSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState StoneSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 8337;
+ else if (Type == Type::Bottom) return 8339;
+ else return 8341;
+ }
+ BlockState StoneSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace StoneStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState StoneStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10150;
+ else if (Shape == Shape::InnerLeft) return 10152;
+ else if (Shape == Shape::InnerRight) return 10154;
+ else if (Shape == Shape::OuterLeft) return 10156;
+ else return 10158;
+ else
+ if (Shape == Shape::Straight) return 10160;
+ else if (Shape == Shape::InnerLeft) return 10162;
+ else if (Shape == Shape::InnerRight) return 10164;
+ else if (Shape == Shape::OuterLeft) return 10166;
+ else return 10168;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10170;
+ else if (Shape == Shape::InnerLeft) return 10172;
+ else if (Shape == Shape::InnerRight) return 10174;
+ else if (Shape == Shape::OuterLeft) return 10176;
+ else return 10178;
+ else
+ if (Shape == Shape::Straight) return 10180;
+ else if (Shape == Shape::InnerLeft) return 10182;
+ else if (Shape == Shape::InnerRight) return 10184;
+ else if (Shape == Shape::OuterLeft) return 10186;
+ else return 10188;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10190;
+ else if (Shape == Shape::InnerLeft) return 10192;
+ else if (Shape == Shape::InnerRight) return 10194;
+ else if (Shape == Shape::OuterLeft) return 10196;
+ else return 10198;
+ else
+ if (Shape == Shape::Straight) return 10200;
+ else if (Shape == Shape::InnerLeft) return 10202;
+ else if (Shape == Shape::InnerRight) return 10204;
+ else if (Shape == Shape::OuterLeft) return 10206;
+ else return 10208;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 10210;
+ else if (Shape == Shape::InnerLeft) return 10212;
+ else if (Shape == Shape::InnerRight) return 10214;
+ else if (Shape == Shape::OuterLeft) return 10216;
+ else return 10218;
+ else
+ if (Shape == Shape::Straight) return 10220;
+ else if (Shape == Shape::InnerLeft) return 10222;
+ else if (Shape == Shape::InnerRight) return 10224;
+ else if (Shape == Shape::OuterLeft) return 10226;
+ else return 10228;
+ }
+ BlockState StoneStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace Stonecutter
+ {
+ constexpr BlockState Stonecutter(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 14850;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 14851;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 14852;
+ else return 14853;
+ }
+ BlockState Stonecutter();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace StrippedAcaciaLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedAcaciaLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 100;
+ else if (Axis == Axis::Y) return 101;
+ else return 102;
+ }
+ BlockState StrippedAcaciaLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedAcaciaWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedAcaciaWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 139;
+ else if (Axis == Axis::Y) return 140;
+ else return 141;
+ }
+ BlockState StrippedAcaciaWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedBirchLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedBirchLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 94;
+ else if (Axis == Axis::Y) return 95;
+ else return 96;
+ }
+ BlockState StrippedBirchLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedBirchWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedBirchWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 133;
+ else if (Axis == Axis::Y) return 134;
+ else return 135;
+ }
+ BlockState StrippedBirchWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedCrimsonHyphae
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedCrimsonHyphae(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14984;
+ else if (Axis == Axis::Y) return 14985;
+ else return 14986;
+ }
+ BlockState StrippedCrimsonHyphae();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedCrimsonStem
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedCrimsonStem(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14978;
+ else if (Axis == Axis::Y) return 14979;
+ else return 14980;
+ }
+ BlockState StrippedCrimsonStem();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedDarkOakLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedDarkOakLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 103;
+ else if (Axis == Axis::Y) return 104;
+ else return 105;
+ }
+ BlockState StrippedDarkOakLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedDarkOakWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedDarkOakWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 142;
+ else if (Axis == Axis::Y) return 143;
+ else return 144;
+ }
+ BlockState StrippedDarkOakWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedJungleLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedJungleLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 97;
+ else if (Axis == Axis::Y) return 98;
+ else return 99;
+ }
+ BlockState StrippedJungleLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedJungleWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedJungleWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 136;
+ else if (Axis == Axis::Y) return 137;
+ else return 138;
+ }
+ BlockState StrippedJungleWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedOakLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedOakLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 106;
+ else if (Axis == Axis::Y) return 107;
+ else return 108;
+ }
+ BlockState StrippedOakLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedOakWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedOakWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 127;
+ else if (Axis == Axis::Y) return 128;
+ else return 129;
+ }
+ BlockState StrippedOakWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedSpruceLog
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedSpruceLog(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 91;
+ else if (Axis == Axis::Y) return 92;
+ else return 93;
+ }
+ BlockState StrippedSpruceLog();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedSpruceWood
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedSpruceWood(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 130;
+ else if (Axis == Axis::Y) return 131;
+ else return 132;
+ }
+ BlockState StrippedSpruceWood();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedWarpedHyphae
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedWarpedHyphae(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14967;
+ else if (Axis == Axis::Y) return 14968;
+ else return 14969;
+ }
+ BlockState StrippedWarpedHyphae();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StrippedWarpedStem
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState StrippedWarpedStem(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14961;
+ else if (Axis == Axis::Y) return 14962;
+ else return 14963;
+ }
+ BlockState StrippedWarpedStem();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace StructureBlock
+ {
+ enum class Mode
+ {
+ Save,
+ Load,
+ Corner,
+ Data
+ };
+ constexpr BlockState StructureBlock(const enum Mode Mode)
+ {
+ if (Mode == Mode::Save) return 15735;
+ else if (Mode == Mode::Load) return 15736;
+ else if (Mode == Mode::Corner) return 15737;
+ else return 15738;
+ }
+ BlockState StructureBlock();
+ enum Mode Mode(BlockState Block);
+ }
+ namespace StructureVoid
+ {
+ constexpr BlockState StructureVoid()
+ {
+ return 9259;
+ }
+ }
+ namespace SugarCane
+ {
+ constexpr BlockState SugarCane(const unsigned char Age)
+ {
+ if (Age == 0) return 3948;
+ else if (Age == 1) return 3949;
+ else if (Age == 2) return 3950;
+ else if (Age == 3) return 3951;
+ else if (Age == 4) return 3952;
+ else if (Age == 5) return 3953;
+ else if (Age == 6) return 3954;
+ else if (Age == 7) return 3955;
+ else if (Age == 8) return 3956;
+ else if (Age == 9) return 3957;
+ else if (Age == 10) return 3958;
+ else if (Age == 11) return 3959;
+ else if (Age == 12) return 3960;
+ else if (Age == 13) return 3961;
+ else if (Age == 14) return 3962;
+ else return 3963;
+ }
+ BlockState SugarCane();
+ unsigned char Age(BlockState Block);
+ }
+ namespace Sunflower
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ constexpr BlockState Sunflower(const enum Half Half)
+ {
+ if (Half == Half::Upper) return 7885;
+ else return 7886;
+ }
+ BlockState Sunflower();
+ enum Half Half(BlockState Block);
+ }
+ namespace SweetBerryBush
+ {
+ constexpr BlockState SweetBerryBush(const unsigned char Age)
+ {
+ if (Age == 0) return 14954;
+ else if (Age == 1) return 14955;
+ else if (Age == 2) return 14956;
+ else return 14957;
+ }
+ BlockState SweetBerryBush();
+ unsigned char Age(BlockState Block);
+ }
+ namespace TNT
+ {
+ constexpr BlockState TNT(const bool Unstable)
+ {
+ if (Unstable) return 1430;
+ else return 1431;
+ }
+ BlockState TNT();
+ bool Unstable(BlockState Block);
+ }
+ namespace TallGrass
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ constexpr BlockState TallGrass(const enum Half Half)
+ {
+ if (Half == Half::Upper) return 7893;
+ else return 7894;
+ }
+ BlockState TallGrass();
+ enum Half Half(BlockState Block);
+ }
+ namespace TallSeagrass
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ constexpr BlockState TallSeagrass(const enum Half Half)
+ {
+ if (Half == Half::Upper) return 1346;
+ else return 1347;
+ }
+ BlockState TallSeagrass();
+ enum Half Half(BlockState Block);
+ }
+ namespace Target
+ {
+ constexpr BlockState Target(const unsigned char Power)
+ {
+ if (Power == 0) return 15760;
+ else if (Power == 1) return 15761;
+ else if (Power == 2) return 15762;
+ else if (Power == 3) return 15763;
+ else if (Power == 4) return 15764;
+ else if (Power == 5) return 15765;
+ else if (Power == 6) return 15766;
+ else if (Power == 7) return 15767;
+ else if (Power == 8) return 15768;
+ else if (Power == 9) return 15769;
+ else if (Power == 10) return 15770;
+ else if (Power == 11) return 15771;
+ else if (Power == 12) return 15772;
+ else if (Power == 13) return 15773;
+ else if (Power == 14) return 15774;
+ else return 15775;
+ }
+ BlockState Target();
+ unsigned char Power(BlockState Block);
+ }
+ namespace Terracotta
+ {
+ constexpr BlockState Terracotta()
+ {
+ return 7882;
+ }
+ }
+ namespace Torch
+ {
+ constexpr BlockState Torch()
+ {
+ return 1435;
+ }
+ }
+ namespace TrappedChest
+ {
+ enum class Type
+ {
+ Single,
+ Left,
+ Right
+ };
+ constexpr BlockState TrappedChest(const eBlockFace Facing, const enum Type Type)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Type == Type::Single) return 6623;
+ else if (Type == Type::Left) return 6625;
+ else return 6627;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Type == Type::Single) return 6629;
+ else if (Type == Type::Left) return 6631;
+ else return 6633;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Type == Type::Single) return 6635;
+ else if (Type == Type::Left) return 6637;
+ else return 6639;
+ else
+ if (Type == Type::Single) return 6641;
+ else if (Type == Type::Left) return 6643;
+ else return 6645;
+ }
+ BlockState TrappedChest();
+ eBlockFace Facing(BlockState Block);
+ enum Type Type(BlockState Block);
+ }
+ namespace Tripwire
+ {
+ constexpr BlockState Tripwire(const bool Attached, const bool Disarmed, const bool East, const bool North, const bool Powered, const bool South, const bool West)
+ {
+ if (Attached)
+ if (Disarmed)
+ if (East)
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5275;
+ else return 5276;
+ else
+ if (West) return 5277;
+ else return 5278;
+ else
+ if (South)
+ if (West) return 5279;
+ else return 5280;
+ else
+ if (West) return 5281;
+ else return 5282;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5283;
+ else return 5284;
+ else
+ if (West) return 5285;
+ else return 5286;
+ else
+ if (South)
+ if (West) return 5287;
+ else return 5288;
+ else
+ if (West) return 5289;
+ else return 5290;
+ else
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5291;
+ else return 5292;
+ else
+ if (West) return 5293;
+ else return 5294;
+ else
+ if (South)
+ if (West) return 5295;
+ else return 5296;
+ else
+ if (West) return 5297;
+ else return 5298;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5299;
+ else return 5300;
+ else
+ if (West) return 5301;
+ else return 5302;
+ else
+ if (South)
+ if (West) return 5303;
+ else return 5304;
+ else
+ if (West) return 5305;
+ else return 5306;
+ else
+ if (East)
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5307;
+ else return 5308;
+ else
+ if (West) return 5309;
+ else return 5310;
+ else
+ if (South)
+ if (West) return 5311;
+ else return 5312;
+ else
+ if (West) return 5313;
+ else return 5314;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5315;
+ else return 5316;
+ else
+ if (West) return 5317;
+ else return 5318;
+ else
+ if (South)
+ if (West) return 5319;
+ else return 5320;
+ else
+ if (West) return 5321;
+ else return 5322;
+ else
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5323;
+ else return 5324;
+ else
+ if (West) return 5325;
+ else return 5326;
+ else
+ if (South)
+ if (West) return 5327;
+ else return 5328;
+ else
+ if (West) return 5329;
+ else return 5330;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5331;
+ else return 5332;
+ else
+ if (West) return 5333;
+ else return 5334;
+ else
+ if (South)
+ if (West) return 5335;
+ else return 5336;
+ else
+ if (West) return 5337;
+ else return 5338;
+ else
+ if (Disarmed)
+ if (East)
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5339;
+ else return 5340;
+ else
+ if (West) return 5341;
+ else return 5342;
+ else
+ if (South)
+ if (West) return 5343;
+ else return 5344;
+ else
+ if (West) return 5345;
+ else return 5346;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5347;
+ else return 5348;
+ else
+ if (West) return 5349;
+ else return 5350;
+ else
+ if (South)
+ if (West) return 5351;
+ else return 5352;
+ else
+ if (West) return 5353;
+ else return 5354;
+ else
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5355;
+ else return 5356;
+ else
+ if (West) return 5357;
+ else return 5358;
+ else
+ if (South)
+ if (West) return 5359;
+ else return 5360;
+ else
+ if (West) return 5361;
+ else return 5362;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5363;
+ else return 5364;
+ else
+ if (West) return 5365;
+ else return 5366;
+ else
+ if (South)
+ if (West) return 5367;
+ else return 5368;
+ else
+ if (West) return 5369;
+ else return 5370;
+ else
+ if (East)
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5371;
+ else return 5372;
+ else
+ if (West) return 5373;
+ else return 5374;
+ else
+ if (South)
+ if (West) return 5375;
+ else return 5376;
+ else
+ if (West) return 5377;
+ else return 5378;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5379;
+ else return 5380;
+ else
+ if (West) return 5381;
+ else return 5382;
+ else
+ if (South)
+ if (West) return 5383;
+ else return 5384;
+ else
+ if (West) return 5385;
+ else return 5386;
+ else
+ if (North)
+ if (Powered)
+ if (South)
+ if (West) return 5387;
+ else return 5388;
+ else
+ if (West) return 5389;
+ else return 5390;
+ else
+ if (South)
+ if (West) return 5391;
+ else return 5392;
+ else
+ if (West) return 5393;
+ else return 5394;
+ else
+ if (Powered)
+ if (South)
+ if (West) return 5395;
+ else return 5396;
+ else
+ if (West) return 5397;
+ else return 5398;
+ else
+ if (South)
+ if (West) return 5399;
+ else return 5400;
+ else
+ if (West) return 5401;
+ else return 5402;
+ }
+ BlockState Tripwire();
+ bool Attached(BlockState Block);
+ bool Disarmed(BlockState Block);
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool Powered(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace TripwireHook
+ {
+ constexpr BlockState TripwireHook(const bool Attached, const eBlockFace Facing, const bool Powered)
+ {
+ if (Attached)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 5259;
+ else return 5260;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 5261;
+ else return 5262;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 5263;
+ else return 5264;
+ else
+ if (Powered) return 5265;
+ else return 5266;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 5267;
+ else return 5268;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 5269;
+ else return 5270;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 5271;
+ else return 5272;
+ else
+ if (Powered) return 5273;
+ else return 5274;
+ }
+ BlockState TripwireHook();
+ bool Attached(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace TubeCoral
+ {
+ constexpr BlockState TubeCoral()
+ {
+ return 9531;
+ }
+ }
+ namespace TubeCoralBlock
+ {
+ constexpr BlockState TubeCoralBlock()
+ {
+ return 9515;
+ }
+ }
+ namespace TubeCoralFan
+ {
+ constexpr BlockState TubeCoralFan()
+ {
+ return 9551;
+ }
+ }
+ namespace TubeCoralWallFan
+ {
+ constexpr BlockState TubeCoralWallFan(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9601;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9603;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9605;
+ else return 9607;
+ }
+ BlockState TubeCoralWallFan();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace TurtleEgg
+ {
+ constexpr BlockState TurtleEgg(const unsigned char Eggs, const unsigned char Hatch)
+ {
+ if (Eggs == 1)
+ if (Hatch == 0) return 9498;
+ else if (Hatch == 1) return 9499;
+ else return 9500;
+ else if (Eggs == 2)
+ if (Hatch == 0) return 9501;
+ else if (Hatch == 1) return 9502;
+ else return 9503;
+ else if (Eggs == 3)
+ if (Hatch == 0) return 9504;
+ else if (Hatch == 1) return 9505;
+ else return 9506;
+ else
+ if (Hatch == 0) return 9507;
+ else if (Hatch == 1) return 9508;
+ else return 9509;
+ }
+ BlockState TurtleEgg();
+ unsigned char Eggs(BlockState Block);
+ unsigned char Hatch(BlockState Block);
+ }
+ namespace TwistingVines
+ {
+ constexpr BlockState TwistingVines(const unsigned char Age)
+ {
+ if (Age == 0) return 15017;
+ else if (Age == 1) return 15018;
+ else if (Age == 2) return 15019;
+ else if (Age == 3) return 15020;
+ else if (Age == 4) return 15021;
+ else if (Age == 5) return 15022;
+ else if (Age == 6) return 15023;
+ else if (Age == 7) return 15024;
+ else if (Age == 8) return 15025;
+ else if (Age == 9) return 15026;
+ else if (Age == 10) return 15027;
+ else if (Age == 11) return 15028;
+ else if (Age == 12) return 15029;
+ else if (Age == 13) return 15030;
+ else if (Age == 14) return 15031;
+ else if (Age == 15) return 15032;
+ else if (Age == 16) return 15033;
+ else if (Age == 17) return 15034;
+ else if (Age == 18) return 15035;
+ else if (Age == 19) return 15036;
+ else if (Age == 20) return 15037;
+ else if (Age == 21) return 15038;
+ else if (Age == 22) return 15039;
+ else if (Age == 23) return 15040;
+ else if (Age == 24) return 15041;
+ else return 15042;
+ }
+ BlockState TwistingVines();
+ unsigned char Age(BlockState Block);
+ }
+ namespace TwistingVinesPlant
+ {
+ constexpr BlockState TwistingVinesPlant()
+ {
+ return 15043;
+ }
+ }
+ namespace Vine
+ {
+ constexpr BlockState Vine(const bool East, const bool North, const bool South, const bool Up, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4788;
+ else return 4789;
+ else
+ if (West) return 4790;
+ else return 4791;
+ else
+ if (Up)
+ if (West) return 4792;
+ else return 4793;
+ else
+ if (West) return 4794;
+ else return 4795;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4796;
+ else return 4797;
+ else
+ if (West) return 4798;
+ else return 4799;
+ else
+ if (Up)
+ if (West) return 4800;
+ else return 4801;
+ else
+ if (West) return 4802;
+ else return 4803;
+ else
+ if (North)
+ if (South)
+ if (Up)
+ if (West) return 4804;
+ else return 4805;
+ else
+ if (West) return 4806;
+ else return 4807;
+ else
+ if (Up)
+ if (West) return 4808;
+ else return 4809;
+ else
+ if (West) return 4810;
+ else return 4811;
+ else
+ if (South)
+ if (Up)
+ if (West) return 4812;
+ else return 4813;
+ else
+ if (West) return 4814;
+ else return 4815;
+ else
+ if (Up)
+ if (West) return 4816;
+ else return 4817;
+ else
+ if (West) return 4818;
+ else return 4819;
+ }
+ BlockState Vine();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool Up(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace VoidAir
+ {
+ constexpr BlockState VoidAir()
+ {
+ return 9665;
+ }
+ }
+ namespace WallTorch
+ {
+ constexpr BlockState WallTorch(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 1436;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 1437;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 1438;
+ else return 1439;
+ }
+ BlockState WallTorch();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace WarpedButton
+ {
+ enum class Face
+ {
+ Floor,
+ Wall,
+ Ceiling
+ };
+ constexpr BlockState WarpedButton(const enum Face Face, const eBlockFace Facing, const bool Powered)
+ {
+ if (Face == Face::Floor)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 15503;
+ else return 15504;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 15505;
+ else return 15506;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 15507;
+ else return 15508;
+ else
+ if (Powered) return 15509;
+ else return 15510;
+ else if (Face == Face::Wall)
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 15511;
+ else return 15512;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 15513;
+ else return 15514;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 15515;
+ else return 15516;
+ else
+ if (Powered) return 15517;
+ else return 15518;
+ else
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Powered) return 15519;
+ else return 15520;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Powered) return 15521;
+ else return 15522;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Powered) return 15523;
+ else return 15524;
+ else
+ if (Powered) return 15525;
+ else return 15526;
+ }
+ BlockState WarpedButton();
+ enum Face Face(BlockState Block);
+ eBlockFace Facing(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace WarpedDoor
+ {
+ enum class Half
+ {
+ Upper,
+ Lower
+ };
+ enum class Hinge
+ {
+ Left,
+ Right
+ };
+ constexpr BlockState WarpedDoor(const eBlockFace Facing, const enum Half Half, const enum Hinge Hinge, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15591;
+ else return 15592;
+ else
+ if (Powered) return 15593;
+ else return 15594;
+ else
+ if (Open)
+ if (Powered) return 15595;
+ else return 15596;
+ else
+ if (Powered) return 15597;
+ else return 15598;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15599;
+ else return 15600;
+ else
+ if (Powered) return 15601;
+ else return 15602;
+ else
+ if (Open)
+ if (Powered) return 15603;
+ else return 15604;
+ else
+ if (Powered) return 15605;
+ else return 15606;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15607;
+ else return 15608;
+ else
+ if (Powered) return 15609;
+ else return 15610;
+ else
+ if (Open)
+ if (Powered) return 15611;
+ else return 15612;
+ else
+ if (Powered) return 15613;
+ else return 15614;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15615;
+ else return 15616;
+ else
+ if (Powered) return 15617;
+ else return 15618;
+ else
+ if (Open)
+ if (Powered) return 15619;
+ else return 15620;
+ else
+ if (Powered) return 15621;
+ else return 15622;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15623;
+ else return 15624;
+ else
+ if (Powered) return 15625;
+ else return 15626;
+ else
+ if (Open)
+ if (Powered) return 15627;
+ else return 15628;
+ else
+ if (Powered) return 15629;
+ else return 15630;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15631;
+ else return 15632;
+ else
+ if (Powered) return 15633;
+ else return 15634;
+ else
+ if (Open)
+ if (Powered) return 15635;
+ else return 15636;
+ else
+ if (Powered) return 15637;
+ else return 15638;
+ else
+ if (Half == Half::Upper)
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15639;
+ else return 15640;
+ else
+ if (Powered) return 15641;
+ else return 15642;
+ else
+ if (Open)
+ if (Powered) return 15643;
+ else return 15644;
+ else
+ if (Powered) return 15645;
+ else return 15646;
+ else
+ if (Hinge == Hinge::Left)
+ if (Open)
+ if (Powered) return 15647;
+ else return 15648;
+ else
+ if (Powered) return 15649;
+ else return 15650;
+ else
+ if (Open)
+ if (Powered) return 15651;
+ else return 15652;
+ else
+ if (Powered) return 15653;
+ else return 15654;
+ }
+ BlockState WarpedDoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Hinge Hinge(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace WarpedFence
+ {
+ constexpr BlockState WarpedFence(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 15097;
+ else return 15098;
+ else
+ if (West) return 15101;
+ else return 15102;
+ else
+ if (South)
+ if (West) return 15105;
+ else return 15106;
+ else
+ if (West) return 15109;
+ else return 15110;
+ else
+ if (North)
+ if (South)
+ if (West) return 15113;
+ else return 15114;
+ else
+ if (West) return 15117;
+ else return 15118;
+ else
+ if (South)
+ if (West) return 15121;
+ else return 15122;
+ else
+ if (West) return 15125;
+ else return 15126;
+ }
+ BlockState WarpedFence();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace WarpedFenceGate
+ {
+ constexpr BlockState WarpedFenceGate(const eBlockFace Facing, const bool InWall, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 15287;
+ else return 15288;
+ else
+ if (Powered) return 15289;
+ else return 15290;
+ else
+ if (Open)
+ if (Powered) return 15291;
+ else return 15292;
+ else
+ if (Powered) return 15293;
+ else return 15294;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (InWall)
+ if (Open)
+ if (Powered) return 15295;
+ else return 15296;
+ else
+ if (Powered) return 15297;
+ else return 15298;
+ else
+ if (Open)
+ if (Powered) return 15299;
+ else return 15300;
+ else
+ if (Powered) return 15301;
+ else return 15302;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (InWall)
+ if (Open)
+ if (Powered) return 15303;
+ else return 15304;
+ else
+ if (Powered) return 15305;
+ else return 15306;
+ else
+ if (Open)
+ if (Powered) return 15307;
+ else return 15308;
+ else
+ if (Powered) return 15309;
+ else return 15310;
+ else
+ if (InWall)
+ if (Open)
+ if (Powered) return 15311;
+ else return 15312;
+ else
+ if (Powered) return 15313;
+ else return 15314;
+ else
+ if (Open)
+ if (Powered) return 15315;
+ else return 15316;
+ else
+ if (Powered) return 15317;
+ else return 15318;
+ }
+ BlockState WarpedFenceGate();
+ eBlockFace Facing(BlockState Block);
+ bool InWall(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace WarpedFungus
+ {
+ constexpr BlockState WarpedFungus()
+ {
+ return 14971;
+ }
+ }
+ namespace WarpedHyphae
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState WarpedHyphae(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14964;
+ else if (Axis == Axis::Y) return 14965;
+ else return 14966;
+ }
+ BlockState WarpedHyphae();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace WarpedNylium
+ {
+ constexpr BlockState WarpedNylium()
+ {
+ return 14970;
+ }
+ }
+ namespace WarpedPlanks
+ {
+ constexpr BlockState WarpedPlanks()
+ {
+ return 15046;
+ }
+ }
+ namespace WarpedPressurePlate
+ {
+ constexpr BlockState WarpedPressurePlate(const bool Powered)
+ {
+ if (Powered) return 15061;
+ else return 15062;
+ }
+ BlockState WarpedPressurePlate();
+ bool Powered(BlockState Block);
+ }
+ namespace WarpedRoots
+ {
+ constexpr BlockState WarpedRoots()
+ {
+ return 14973;
+ }
+ }
+ namespace WarpedSign
+ {
+ constexpr BlockState WarpedSign(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 15688;
+ else if (Rotation == 1) return 15690;
+ else if (Rotation == 2) return 15692;
+ else if (Rotation == 3) return 15694;
+ else if (Rotation == 4) return 15696;
+ else if (Rotation == 5) return 15698;
+ else if (Rotation == 6) return 15700;
+ else if (Rotation == 7) return 15702;
+ else if (Rotation == 8) return 15704;
+ else if (Rotation == 9) return 15706;
+ else if (Rotation == 10) return 15708;
+ else if (Rotation == 11) return 15710;
+ else if (Rotation == 12) return 15712;
+ else if (Rotation == 13) return 15714;
+ else if (Rotation == 14) return 15716;
+ else return 15718;
+ }
+ BlockState WarpedSign();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace WarpedSlab
+ {
+ enum class Type
+ {
+ Top,
+ Bottom,
+ Double
+ };
+ constexpr BlockState WarpedSlab(const enum Type Type)
+ {
+ if (Type == Type::Top) return 15054;
+ else if (Type == Type::Bottom) return 15056;
+ else return 15058;
+ }
+ BlockState WarpedSlab();
+ enum Type Type(BlockState Block);
+ }
+ namespace WarpedStairs
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ enum class Shape
+ {
+ Straight,
+ InnerLeft,
+ InnerRight,
+ OuterLeft,
+ OuterRight
+ };
+ constexpr BlockState WarpedStairs(const eBlockFace Facing, const enum Half Half, const enum Shape Shape)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15400;
+ else if (Shape == Shape::InnerLeft) return 15402;
+ else if (Shape == Shape::InnerRight) return 15404;
+ else if (Shape == Shape::OuterLeft) return 15406;
+ else return 15408;
+ else
+ if (Shape == Shape::Straight) return 15410;
+ else if (Shape == Shape::InnerLeft) return 15412;
+ else if (Shape == Shape::InnerRight) return 15414;
+ else if (Shape == Shape::OuterLeft) return 15416;
+ else return 15418;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15420;
+ else if (Shape == Shape::InnerLeft) return 15422;
+ else if (Shape == Shape::InnerRight) return 15424;
+ else if (Shape == Shape::OuterLeft) return 15426;
+ else return 15428;
+ else
+ if (Shape == Shape::Straight) return 15430;
+ else if (Shape == Shape::InnerLeft) return 15432;
+ else if (Shape == Shape::InnerRight) return 15434;
+ else if (Shape == Shape::OuterLeft) return 15436;
+ else return 15438;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15440;
+ else if (Shape == Shape::InnerLeft) return 15442;
+ else if (Shape == Shape::InnerRight) return 15444;
+ else if (Shape == Shape::OuterLeft) return 15446;
+ else return 15448;
+ else
+ if (Shape == Shape::Straight) return 15450;
+ else if (Shape == Shape::InnerLeft) return 15452;
+ else if (Shape == Shape::InnerRight) return 15454;
+ else if (Shape == Shape::OuterLeft) return 15456;
+ else return 15458;
+ else
+ if (Half == Half::Top)
+ if (Shape == Shape::Straight) return 15460;
+ else if (Shape == Shape::InnerLeft) return 15462;
+ else if (Shape == Shape::InnerRight) return 15464;
+ else if (Shape == Shape::OuterLeft) return 15466;
+ else return 15468;
+ else
+ if (Shape == Shape::Straight) return 15470;
+ else if (Shape == Shape::InnerLeft) return 15472;
+ else if (Shape == Shape::InnerRight) return 15474;
+ else if (Shape == Shape::OuterLeft) return 15476;
+ else return 15478;
+ }
+ BlockState WarpedStairs();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ enum Shape Shape(BlockState Block);
+ }
+ namespace WarpedStem
+ {
+ enum class Axis
+ {
+ X,
+ Y,
+ Z
+ };
+ constexpr BlockState WarpedStem(const enum Axis Axis)
+ {
+ if (Axis == Axis::X) return 14958;
+ else if (Axis == Axis::Y) return 14959;
+ else return 14960;
+ }
+ BlockState WarpedStem();
+ enum Axis Axis(BlockState Block);
+ }
+ namespace WarpedTrapdoor
+ {
+ enum class Half
+ {
+ Top,
+ Bottom
+ };
+ constexpr BlockState WarpedTrapdoor(const eBlockFace Facing, const enum Half Half, const bool Open, const bool Powered)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15192;
+ else return 15194;
+ else
+ if (Powered) return 15196;
+ else return 15198;
+ else
+ if (Open)
+ if (Powered) return 15200;
+ else return 15202;
+ else
+ if (Powered) return 15204;
+ else return 15206;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15208;
+ else return 15210;
+ else
+ if (Powered) return 15212;
+ else return 15214;
+ else
+ if (Open)
+ if (Powered) return 15216;
+ else return 15218;
+ else
+ if (Powered) return 15220;
+ else return 15222;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15224;
+ else return 15226;
+ else
+ if (Powered) return 15228;
+ else return 15230;
+ else
+ if (Open)
+ if (Powered) return 15232;
+ else return 15234;
+ else
+ if (Powered) return 15236;
+ else return 15238;
+ else
+ if (Half == Half::Top)
+ if (Open)
+ if (Powered) return 15240;
+ else return 15242;
+ else
+ if (Powered) return 15244;
+ else return 15246;
+ else
+ if (Open)
+ if (Powered) return 15248;
+ else return 15250;
+ else
+ if (Powered) return 15252;
+ else return 15254;
+ }
+ BlockState WarpedTrapdoor();
+ eBlockFace Facing(BlockState Block);
+ enum Half Half(BlockState Block);
+ bool Open(BlockState Block);
+ bool Powered(BlockState Block);
+ }
+ namespace WarpedWallSign
+ {
+ constexpr BlockState WarpedWallSign(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 15728;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 15730;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 15732;
+ else return 15734;
+ }
+ BlockState WarpedWallSign();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace WarpedWartBlock
+ {
+ constexpr BlockState WarpedWartBlock()
+ {
+ return 14972;
+ }
+ }
+ namespace Water
+ {
+ constexpr BlockState Water(const unsigned char Level)
+ {
+ if (Level == 0) return 34;
+ else if (Level == 1) return 35;
+ else if (Level == 2) return 36;
+ else if (Level == 3) return 37;
+ else if (Level == 4) return 38;
+ else if (Level == 5) return 39;
+ else if (Level == 6) return 40;
+ else if (Level == 7) return 41;
+ else if (Level == 8) return 42;
+ else if (Level == 9) return 43;
+ else if (Level == 10) return 44;
+ else if (Level == 11) return 45;
+ else if (Level == 12) return 46;
+ else if (Level == 13) return 47;
+ else if (Level == 14) return 48;
+ else return 49;
+ }
+ BlockState Water();
+ unsigned char Level(BlockState Block);
+ }
+ namespace WeepingVines
+ {
+ constexpr BlockState WeepingVines(const unsigned char Age)
+ {
+ if (Age == 0) return 14990;
+ else if (Age == 1) return 14991;
+ else if (Age == 2) return 14992;
+ else if (Age == 3) return 14993;
+ else if (Age == 4) return 14994;
+ else if (Age == 5) return 14995;
+ else if (Age == 6) return 14996;
+ else if (Age == 7) return 14997;
+ else if (Age == 8) return 14998;
+ else if (Age == 9) return 14999;
+ else if (Age == 10) return 15000;
+ else if (Age == 11) return 15001;
+ else if (Age == 12) return 15002;
+ else if (Age == 13) return 15003;
+ else if (Age == 14) return 15004;
+ else if (Age == 15) return 15005;
+ else if (Age == 16) return 15006;
+ else if (Age == 17) return 15007;
+ else if (Age == 18) return 15008;
+ else if (Age == 19) return 15009;
+ else if (Age == 20) return 15010;
+ else if (Age == 21) return 15011;
+ else if (Age == 22) return 15012;
+ else if (Age == 23) return 15013;
+ else if (Age == 24) return 15014;
+ else return 15015;
+ }
+ BlockState WeepingVines();
+ unsigned char Age(BlockState Block);
+ }
+ namespace WeepingVinesPlant
+ {
+ constexpr BlockState WeepingVinesPlant()
+ {
+ return 15016;
+ }
+ }
+ namespace WetSponge
+ {
+ constexpr BlockState WetSponge()
+ {
+ return 230;
+ }
+ }
+ namespace Wheat
+ {
+ constexpr BlockState Wheat(const unsigned char Age)
+ {
+ if (Age == 0) return 3357;
+ else if (Age == 1) return 3358;
+ else if (Age == 2) return 3359;
+ else if (Age == 3) return 3360;
+ else if (Age == 4) return 3361;
+ else if (Age == 5) return 3362;
+ else if (Age == 6) return 3363;
+ else return 3364;
+ }
+ BlockState Wheat();
+ unsigned char Age(BlockState Block);
+ }
+ namespace WhiteBanner
+ {
+ constexpr BlockState WhiteBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 7897;
+ else if (Rotation == 1) return 7898;
+ else if (Rotation == 2) return 7899;
+ else if (Rotation == 3) return 7900;
+ else if (Rotation == 4) return 7901;
+ else if (Rotation == 5) return 7902;
+ else if (Rotation == 6) return 7903;
+ else if (Rotation == 7) return 7904;
+ else if (Rotation == 8) return 7905;
+ else if (Rotation == 9) return 7906;
+ else if (Rotation == 10) return 7907;
+ else if (Rotation == 11) return 7908;
+ else if (Rotation == 12) return 7909;
+ else if (Rotation == 13) return 7910;
+ else if (Rotation == 14) return 7911;
+ else return 7912;
+ }
+ BlockState WhiteBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace WhiteBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState WhiteBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1049;
+ else return 1050;
+ else
+ if (Part == Part::Head) return 1051;
+ else return 1052;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1053;
+ else return 1054;
+ else
+ if (Part == Part::Head) return 1055;
+ else return 1056;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1057;
+ else return 1058;
+ else
+ if (Part == Part::Head) return 1059;
+ else return 1060;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1061;
+ else return 1062;
+ else
+ if (Part == Part::Head) return 1063;
+ else return 1064;
+ }
+ BlockState WhiteBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace WhiteCarpet
+ {
+ constexpr BlockState WhiteCarpet()
+ {
+ return 7866;
+ }
+ }
+ namespace WhiteConcrete
+ {
+ constexpr BlockState WhiteConcrete()
+ {
+ return 9438;
+ }
+ }
+ namespace WhiteConcretePowder
+ {
+ constexpr BlockState WhiteConcretePowder()
+ {
+ return 9454;
+ }
+ }
+ namespace WhiteGlazedTerracotta
+ {
+ constexpr BlockState WhiteGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9374;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9375;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9376;
+ else return 9377;
+ }
+ BlockState WhiteGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace WhiteShulkerBox
+ {
+ constexpr BlockState WhiteShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9278;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9279;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9280;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9281;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9282;
+ else return 9283;
+ }
+ BlockState WhiteShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace WhiteStainedGlass
+ {
+ constexpr BlockState WhiteStainedGlass()
+ {
+ return 4095;
+ }
+ }
+ namespace WhiteStainedGlassPane
+ {
+ constexpr BlockState WhiteStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 6865;
+ else return 6866;
+ else
+ if (West) return 6869;
+ else return 6870;
+ else
+ if (South)
+ if (West) return 6873;
+ else return 6874;
+ else
+ if (West) return 6877;
+ else return 6878;
+ else
+ if (North)
+ if (South)
+ if (West) return 6881;
+ else return 6882;
+ else
+ if (West) return 6885;
+ else return 6886;
+ else
+ if (South)
+ if (West) return 6889;
+ else return 6890;
+ else
+ if (West) return 6893;
+ else return 6894;
+ }
+ BlockState WhiteStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace WhiteTerracotta
+ {
+ constexpr BlockState WhiteTerracotta()
+ {
+ return 6847;
+ }
+ }
+ namespace WhiteTulip
+ {
+ constexpr BlockState WhiteTulip()
+ {
+ return 1419;
+ }
+ }
+ namespace WhiteWallBanner
+ {
+ constexpr BlockState WhiteWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8153;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8154;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8155;
+ else return 8156;
+ }
+ BlockState WhiteWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace WhiteWool
+ {
+ constexpr BlockState WhiteWool()
+ {
+ return 1384;
+ }
+ }
+ namespace WitherRose
+ {
+ constexpr BlockState WitherRose()
+ {
+ return 1423;
+ }
+ }
+ namespace WitherSkeletonSkull
+ {
+ constexpr BlockState WitherSkeletonSkull(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 6510;
+ else if (Rotation == 1) return 6511;
+ else if (Rotation == 2) return 6512;
+ else if (Rotation == 3) return 6513;
+ else if (Rotation == 4) return 6514;
+ else if (Rotation == 5) return 6515;
+ else if (Rotation == 6) return 6516;
+ else if (Rotation == 7) return 6517;
+ else if (Rotation == 8) return 6518;
+ else if (Rotation == 9) return 6519;
+ else if (Rotation == 10) return 6520;
+ else if (Rotation == 11) return 6521;
+ else if (Rotation == 12) return 6522;
+ else if (Rotation == 13) return 6523;
+ else if (Rotation == 14) return 6524;
+ else return 6525;
+ }
+ BlockState WitherSkeletonSkull();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace WitherSkeletonWallSkull
+ {
+ constexpr BlockState WitherSkeletonWallSkull(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6526;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6527;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6528;
+ else return 6529;
+ }
+ BlockState WitherSkeletonWallSkull();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace YellowBanner
+ {
+ constexpr BlockState YellowBanner(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 7961;
+ else if (Rotation == 1) return 7962;
+ else if (Rotation == 2) return 7963;
+ else if (Rotation == 3) return 7964;
+ else if (Rotation == 4) return 7965;
+ else if (Rotation == 5) return 7966;
+ else if (Rotation == 6) return 7967;
+ else if (Rotation == 7) return 7968;
+ else if (Rotation == 8) return 7969;
+ else if (Rotation == 9) return 7970;
+ else if (Rotation == 10) return 7971;
+ else if (Rotation == 11) return 7972;
+ else if (Rotation == 12) return 7973;
+ else if (Rotation == 13) return 7974;
+ else if (Rotation == 14) return 7975;
+ else return 7976;
+ }
+ BlockState YellowBanner();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace YellowBed
+ {
+ enum class Part
+ {
+ Head,
+ Foot
+ };
+ constexpr BlockState YellowBed(const eBlockFace Facing, const bool Occupied, const enum Part Part)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM)
+ if (Occupied)
+ if (Part == Part::Head) return 1113;
+ else return 1114;
+ else
+ if (Part == Part::Head) return 1115;
+ else return 1116;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP)
+ if (Occupied)
+ if (Part == Part::Head) return 1117;
+ else return 1118;
+ else
+ if (Part == Part::Head) return 1119;
+ else return 1120;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM)
+ if (Occupied)
+ if (Part == Part::Head) return 1121;
+ else return 1122;
+ else
+ if (Part == Part::Head) return 1123;
+ else return 1124;
+ else
+ if (Occupied)
+ if (Part == Part::Head) return 1125;
+ else return 1126;
+ else
+ if (Part == Part::Head) return 1127;
+ else return 1128;
+ }
+ BlockState YellowBed();
+ eBlockFace Facing(BlockState Block);
+ bool Occupied(BlockState Block);
+ enum Part Part(BlockState Block);
+ }
+ namespace YellowCarpet
+ {
+ constexpr BlockState YellowCarpet()
+ {
+ return 7870;
+ }
+ }
+ namespace YellowConcrete
+ {
+ constexpr BlockState YellowConcrete()
+ {
+ return 9442;
+ }
+ }
+ namespace YellowConcretePowder
+ {
+ constexpr BlockState YellowConcretePowder()
+ {
+ return 9458;
+ }
+ }
+ namespace YellowGlazedTerracotta
+ {
+ constexpr BlockState YellowGlazedTerracotta(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9390;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9391;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9392;
+ else return 9393;
+ }
+ BlockState YellowGlazedTerracotta();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace YellowShulkerBox
+ {
+ constexpr BlockState YellowShulkerBox(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 9302;
+ else if (Facing == eBlockFace::BLOCK_FACE_XP) return 9303;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 9304;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 9305;
+ else if (Facing == eBlockFace::BLOCK_FACE_YP) return 9306;
+ else return 9307;
+ }
+ BlockState YellowShulkerBox();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace YellowStainedGlass
+ {
+ constexpr BlockState YellowStainedGlass()
+ {
+ return 4099;
+ }
+ }
+ namespace YellowStainedGlassPane
+ {
+ constexpr BlockState YellowStainedGlassPane(const bool East, const bool North, const bool South, const bool West)
+ {
+ if (East)
+ if (North)
+ if (South)
+ if (West) return 6993;
+ else return 6994;
+ else
+ if (West) return 6997;
+ else return 6998;
+ else
+ if (South)
+ if (West) return 7001;
+ else return 7002;
+ else
+ if (West) return 7005;
+ else return 7006;
+ else
+ if (North)
+ if (South)
+ if (West) return 7009;
+ else return 7010;
+ else
+ if (West) return 7013;
+ else return 7014;
+ else
+ if (South)
+ if (West) return 7017;
+ else return 7018;
+ else
+ if (West) return 7021;
+ else return 7022;
+ }
+ BlockState YellowStainedGlassPane();
+ bool East(BlockState Block);
+ bool North(BlockState Block);
+ bool South(BlockState Block);
+ bool West(BlockState Block);
+ }
+ namespace YellowTerracotta
+ {
+ constexpr BlockState YellowTerracotta()
+ {
+ return 6851;
+ }
+ }
+ namespace YellowWallBanner
+ {
+ constexpr BlockState YellowWallBanner(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 8169;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 8170;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 8171;
+ else return 8172;
+ }
+ BlockState YellowWallBanner();
+ eBlockFace Facing(BlockState Block);
+ }
+ namespace YellowWool
+ {
+ constexpr BlockState YellowWool()
+ {
+ return 1388;
+ }
+ }
+ namespace ZombieHead
+ {
+ constexpr BlockState ZombieHead(const unsigned char Rotation)
+ {
+ if (Rotation == 0) return 6530;
+ else if (Rotation == 1) return 6531;
+ else if (Rotation == 2) return 6532;
+ else if (Rotation == 3) return 6533;
+ else if (Rotation == 4) return 6534;
+ else if (Rotation == 5) return 6535;
+ else if (Rotation == 6) return 6536;
+ else if (Rotation == 7) return 6537;
+ else if (Rotation == 8) return 6538;
+ else if (Rotation == 9) return 6539;
+ else if (Rotation == 10) return 6540;
+ else if (Rotation == 11) return 6541;
+ else if (Rotation == 12) return 6542;
+ else if (Rotation == 13) return 6543;
+ else if (Rotation == 14) return 6544;
+ else return 6545;
+ }
+ BlockState ZombieHead();
+ unsigned char Rotation(BlockState Block);
+ }
+ namespace ZombieWallHead
+ {
+ constexpr BlockState ZombieWallHead(const eBlockFace Facing)
+ {
+ if (Facing == eBlockFace::BLOCK_FACE_ZM) return 6546;
+ else if (Facing == eBlockFace::BLOCK_FACE_ZP) return 6547;
+ else if (Facing == eBlockFace::BLOCK_FACE_XM) return 6548;
+ else return 6549;
+ }
+ BlockState ZombieWallHead();
+ eBlockFace Facing(BlockState Block);
+ }
+}