104 public function __construct(){
107 DyeColor::BLACK =>
"black",
108 DyeColor::BLUE =>
"blue",
109 DyeColor::BROWN =>
"brown",
110 DyeColor::CYAN =>
"cyan",
111 DyeColor::GRAY =>
"gray",
112 DyeColor::GREEN =>
"green",
113 DyeColor::LIGHT_BLUE =>
"light_blue",
114 DyeColor::LIGHT_GRAY =>
"light_gray",
115 DyeColor::LIME =>
"lime",
116 DyeColor::MAGENTA =>
"magenta",
117 DyeColor::ORANGE =>
"orange",
118 DyeColor::PINK =>
"pink",
119 DyeColor::PURPLE =>
"purple",
120 DyeColor::RED =>
"red",
121 DyeColor::WHITE =>
"white",
122 DyeColor::YELLOW =>
"yellow"
125 DyeColor::LIGHT_GRAY =>
"silver",
126 default => $this->dyeColor->valueToRaw($case)
130 MobHeadType::CREEPER => Ids::CREEPER_HEAD,
131 MobHeadType::DRAGON => Ids::DRAGON_HEAD,
132 MobHeadType::PIGLIN => Ids::PIGLIN_HEAD,
133 MobHeadType::PLAYER => Ids::PLAYER_HEAD,
134 MobHeadType::SKELETON => Ids::SKELETON_SKULL,
135 MobHeadType::WITHER_SKELETON => Ids::WITHER_SKELETON_SKULL,
136 MobHeadType::ZOMBIE => Ids::ZOMBIE_HEAD
139 FroglightType::OCHRE => Ids::OCHRE_FROGLIGHT,
140 FroglightType::PEARLESCENT => Ids::PEARLESCENT_FROGLIGHT,
141 FroglightType::VERDANT => Ids::VERDANT_FROGLIGHT,
144 DirtType::NORMAL => Ids::DIRT,
145 DirtType::COARSE => Ids::COARSE_DIRT,
146 DirtType::ROOTED => Ids::DIRT_WITH_ROOTS,
151 DripleafState::STABLE => StringValues::BIG_DRIPLEAF_TILT_NONE,
152 DripleafState::UNSTABLE => StringValues::BIG_DRIPLEAF_TILT_UNSTABLE,
153 DripleafState::PARTIAL_TILT => StringValues::BIG_DRIPLEAF_TILT_PARTIAL_TILT,
154 DripleafState::FULL_TILT => StringValues::BIG_DRIPLEAF_TILT_FULL_TILT
157 BellAttachmentType::FLOOR => StringValues::ATTACHMENT_STANDING,
158 BellAttachmentType::CEILING => StringValues::ATTACHMENT_HANGING,
159 BellAttachmentType::ONE_WALL => StringValues::ATTACHMENT_SIDE,
160 BellAttachmentType::TWO_WALLS => StringValues::ATTACHMENT_MULTIPLE,
163 LeverFacing::DOWN_AXIS_Z => StringValues::LEVER_DIRECTION_DOWN_NORTH_SOUTH,
164 LeverFacing::DOWN_AXIS_X => StringValues::LEVER_DIRECTION_DOWN_EAST_WEST,
165 LeverFacing::UP_AXIS_Z => StringValues::LEVER_DIRECTION_UP_NORTH_SOUTH,
166 LeverFacing::UP_AXIS_X => StringValues::LEVER_DIRECTION_UP_EAST_WEST,
167 LeverFacing::NORTH => StringValues::LEVER_DIRECTION_NORTH,
168 LeverFacing::SOUTH => StringValues::LEVER_DIRECTION_SOUTH,
169 LeverFacing::WEST => StringValues::LEVER_DIRECTION_WEST,
170 LeverFacing::EAST => StringValues::LEVER_DIRECTION_EAST
174 MushroomBlockType::class,
175 fn(MushroomBlockType $case) => match ($case) {
176 MushroomBlockType::PORES => LegacyMeta::MUSHROOM_BLOCK_ALL_PORES,
177 MushroomBlockType::CAP_NORTHWEST => LegacyMeta::MUSHROOM_BLOCK_CAP_NORTHWEST_CORNER,
178 MushroomBlockType::CAP_NORTH => LegacyMeta::MUSHROOM_BLOCK_CAP_NORTH_SIDE,
179 MushroomBlockType::CAP_NORTHEAST => LegacyMeta::MUSHROOM_BLOCK_CAP_NORTHEAST_CORNER,
180 MushroomBlockType::CAP_WEST => LegacyMeta::MUSHROOM_BLOCK_CAP_WEST_SIDE,
181 MushroomBlockType::CAP_MIDDLE => LegacyMeta::MUSHROOM_BLOCK_CAP_TOP_ONLY,
182 MushroomBlockType::CAP_EAST => LegacyMeta::MUSHROOM_BLOCK_CAP_EAST_SIDE,
183 MushroomBlockType::CAP_SOUTHWEST => LegacyMeta::MUSHROOM_BLOCK_CAP_SOUTHWEST_CORNER,
184 MushroomBlockType::CAP_SOUTH => LegacyMeta::MUSHROOM_BLOCK_CAP_SOUTH_SIDE,
185 MushroomBlockType::CAP_SOUTHEAST => LegacyMeta::MUSHROOM_BLOCK_CAP_SOUTHEAST_CORNER,
186 MushroomBlockType::ALL_CAP => LegacyMeta::MUSHROOM_BLOCK_ALL_CAP,
188 fn(MushroomBlockType $case) => match ($case) {
189 MushroomBlockType::ALL_CAP => [11, 12, 13],
195 $this->cardinalDirection =
EnumFromRawStateMap::string(HorizontalFacingOption::class, fn(HorizontalFacingOption $case) => match ($case) {
196 HorizontalFacingOption::NORTH => StringValues::MC_CARDINAL_DIRECTION_NORTH,
197 HorizontalFacingOption::SOUTH => StringValues::MC_CARDINAL_DIRECTION_SOUTH,
198 HorizontalFacingOption::WEST => StringValues::MC_CARDINAL_DIRECTION_WEST,
199 HorizontalFacingOption::EAST => StringValues::MC_CARDINAL_DIRECTION_EAST,
202 Facing::DOWN => StringValues::MC_BLOCK_FACE_DOWN,
203 Facing::UP => StringValues::MC_BLOCK_FACE_UP,
204 Facing::NORTH => StringValues::MC_BLOCK_FACE_NORTH,
205 Facing::SOUTH => StringValues::MC_BLOCK_FACE_SOUTH,
206 Facing::WEST => StringValues::MC_BLOCK_FACE_WEST,
207 Facing::EAST => StringValues::MC_BLOCK_FACE_EAST,
210 Axis::X => StringValues::PILLAR_AXIS_X,
211 Axis::Y => StringValues::PILLAR_AXIS_Y,
212 Axis::Z => StringValues::PILLAR_AXIS_Z
216 Facing::WEST->value => StringValues::TORCH_FACING_DIRECTION_EAST,
217 Facing::SOUTH->value => StringValues::TORCH_FACING_DIRECTION_NORTH,
218 Facing::NORTH->value => StringValues::TORCH_FACING_DIRECTION_SOUTH,
219 Facing::UP->value => StringValues::TORCH_FACING_DIRECTION_TOP,
220 Facing::EAST->value => StringValues::TORCH_FACING_DIRECTION_WEST,
221 ], deserializeAliases: [
222 Facing::UP->value => StringValues::TORCH_FACING_DIRECTION_UNKNOWN
225 Axis::X->value => StringValues::PORTAL_AXIS_X,
226 Axis::Z->value => StringValues::PORTAL_AXIS_Z,
227 ], deserializeAliases: [
228 Axis::X->value => StringValues::PORTAL_AXIS_UNKNOWN,
231 Bamboo::NO_LEAVES => StringValues::BAMBOO_LEAF_SIZE_NO_LEAVES,
232 Bamboo::SMALL_LEAVES => StringValues::BAMBOO_LEAF_SIZE_SMALL_LEAVES,
233 Bamboo::LARGE_LEAVES => StringValues::BAMBOO_LEAF_SIZE_LARGE_LEAVES,
236 $this->horizontalFacing5Minus =
EnumFromRawStateMap::int(HorizontalFacingOption::class, fn(HorizontalFacingOption $case) => match ($case) {
237 HorizontalFacingOption::EAST => 0,
238 HorizontalFacingOption::WEST => 1,
239 HorizontalFacingOption::SOUTH => 2,
240 HorizontalFacingOption::NORTH => 3
242 $this->horizontalFacingSWNE =
EnumFromRawStateMap::int(HorizontalFacingOption::class, fn(HorizontalFacingOption $case) => match ($case) {
243 HorizontalFacingOption::SOUTH => 0,
244 HorizontalFacingOption::WEST => 1,
245 HorizontalFacingOption::NORTH => 2,
246 HorizontalFacingOption::EAST => 3
248 $this->horizontalFacingSWNEInverted =
EnumFromRawStateMap::int(HorizontalFacingOption::class, fn(HorizontalFacingOption $case) => match ($case) {
249 HorizontalFacingOption::NORTH => 0,
250 HorizontalFacingOption::EAST => 1,
251 HorizontalFacingOption::SOUTH => 2,
252 HorizontalFacingOption::WEST => 3,
254 $this->horizontalFacingCoral =
EnumFromRawStateMap::int(HorizontalFacingOption::class, fn(HorizontalFacingOption $case) => match ($case) {
255 HorizontalFacingOption::WEST => 0,
256 HorizontalFacingOption::EAST => 1,
257 HorizontalFacingOption::NORTH => 2,
258 HorizontalFacingOption::SOUTH => 3
260 $this->horizontalFacingClassic =
EnumFromRawStateMap::int(HorizontalFacingOption::class, fn(HorizontalFacingOption $case) => match ($case) {
261 HorizontalFacingOption::NORTH => 2,
262 HorizontalFacingOption::SOUTH => 3,
263 HorizontalFacingOption::WEST => 4,
264 HorizontalFacingOption::EAST => 5
265 }, aliasMapper: fn(HorizontalFacingOption $case) => $case === HorizontalFacingOption::NORTH ? [0, 1] : []);
287 $horizontalFacingClassicTable = [
288 Facing::NORTH->value => 2,
289 Facing::SOUTH->value => 3,
290 Facing::WEST->value => 4,
291 Facing::EAST->value => 5
300 [Facing::UP->value => 1] + $horizontalFacingClassicTable,
301 deserializeAliases: [Facing::UP->value => 0]);
303 [Facing::DOWN->value => 0] + $horizontalFacingClassicTable,
304 deserializeAliases: [Facing::DOWN->value => 1]
311 [Facing::UP->value => 0] + $horizontalFacingClassicTable,
312 deserializeAliases: [Facing::UP->value => 1]