Updated 1.21.6

This commit is contained in:
2025-06-16 12:46:46 +08:00
parent 539b4a3a7f
commit f67c9e3052
290 changed files with 22178 additions and 18088 deletions

View File

@ -39,69 +39,71 @@ var (
BitsPerBiome int
biomesIDs map[uint64]Type
biomesNames = [][]byte{
[]byte("minecraft:the_void"),
[]byte("minecraft:plains"),
[]byte("minecraft:sunflower_plains"),
[]byte("minecraft:snowy_plains"),
[]byte("minecraft:ice_spikes"),
[]byte("minecraft:desert"),
[]byte("minecraft:swamp"),
[]byte("minecraft:mangrove_swamp"),
[]byte("minecraft:forest"),
[]byte("minecraft:flower_forest"),
[]byte("minecraft:birch_forest"),
[]byte("minecraft:dark_forest"),
[]byte("minecraft:old_growth_birch_forest"),
[]byte("minecraft:old_growth_pine_taiga"),
[]byte("minecraft:old_growth_spruce_taiga"),
[]byte("minecraft:taiga"),
[]byte("minecraft:snowy_taiga"),
[]byte("minecraft:savanna"),
[]byte("minecraft:savanna_plateau"),
[]byte("minecraft:windswept_hills"),
[]byte("minecraft:windswept_gravelly_hills"),
[]byte("minecraft:windswept_forest"),
[]byte("minecraft:windswept_savanna"),
[]byte("minecraft:jungle"),
[]byte("minecraft:sparse_jungle"),
[]byte("minecraft:bamboo_jungle"),
[]byte("minecraft:badlands"),
[]byte("minecraft:eroded_badlands"),
[]byte("minecraft:wooded_badlands"),
[]byte("minecraft:meadow"),
[]byte("minecraft:grove"),
[]byte("minecraft:snowy_slopes"),
[]byte("minecraft:frozen_peaks"),
[]byte("minecraft:jagged_peaks"),
[]byte("minecraft:stony_peaks"),
[]byte("minecraft:river"),
[]byte("minecraft:frozen_river"),
[]byte("minecraft:beach"),
[]byte("minecraft:snowy_beach"),
[]byte("minecraft:stony_shore"),
[]byte("minecraft:warm_ocean"),
[]byte("minecraft:lukewarm_ocean"),
[]byte("minecraft:deep_lukewarm_ocean"),
[]byte("minecraft:ocean"),
[]byte("minecraft:deep_ocean"),
[]byte("minecraft:cold_ocean"),
[]byte("minecraft:deep_cold_ocean"),
[]byte("minecraft:frozen_ocean"),
[]byte("minecraft:deep_frozen_ocean"),
[]byte("minecraft:mushroom_fields"),
[]byte("minecraft:savanna_plateau"),
[]byte("minecraft:taiga"),
[]byte("minecraft:savanna"),
[]byte("minecraft:dripstone_caves"),
[]byte("minecraft:lush_caves"),
[]byte("minecraft:deep_dark"),
[]byte("minecraft:nether_wastes"),
[]byte("minecraft:warped_forest"),
[]byte("minecraft:crimson_forest"),
[]byte("minecraft:soul_sand_valley"),
[]byte("minecraft:swamp"),
[]byte("minecraft:basalt_deltas"),
[]byte("minecraft:the_end"),
[]byte("minecraft:end_highlands"),
[]byte("minecraft:ice_spikes"),
[]byte("minecraft:cherry_grove"),
[]byte("minecraft:crimson_forest"),
[]byte("minecraft:frozen_peaks"),
[]byte("minecraft:dark_forest"),
[]byte("minecraft:lush_caves"),
[]byte("minecraft:old_growth_spruce_taiga"),
[]byte("minecraft:deep_dark"),
[]byte("minecraft:frozen_river"),
[]byte("minecraft:lukewarm_ocean"),
[]byte("minecraft:mushroom_fields"),
[]byte("minecraft:warm_ocean"),
[]byte("minecraft:forest"),
[]byte("minecraft:end_midlands"),
[]byte("minecraft:small_end_islands"),
[]byte("minecraft:windswept_forest"),
[]byte("minecraft:deep_ocean"),
[]byte("minecraft:sunflower_plains"),
[]byte("minecraft:stony_peaks"),
[]byte("minecraft:stony_shore"),
[]byte("minecraft:nether_wastes"),
[]byte("minecraft:deep_lukewarm_ocean"),
[]byte("minecraft:flower_forest"),
[]byte("minecraft:old_growth_birch_forest"),
[]byte("minecraft:desert"),
[]byte("minecraft:snowy_taiga"),
[]byte("minecraft:beach"),
[]byte("minecraft:grove"),
[]byte("minecraft:deep_frozen_ocean"),
[]byte("minecraft:river"),
[]byte("minecraft:old_growth_pine_taiga"),
[]byte("minecraft:the_void"),
[]byte("minecraft:deep_cold_ocean"),
[]byte("minecraft:windswept_gravelly_hills"),
[]byte("minecraft:snowy_plains"),
[]byte("minecraft:end_highlands"),
[]byte("minecraft:jagged_peaks"),
[]byte("minecraft:eroded_badlands"),
[]byte("minecraft:bamboo_jungle"),
[]byte("minecraft:end_barrens"),
[]byte("minecraft:plains"),
[]byte("minecraft:small_end_islands"),
[]byte("minecraft:meadow"),
[]byte("minecraft:the_end"),
[]byte("minecraft:snowy_beach"),
[]byte("minecraft:sparse_jungle"),
[]byte("minecraft:jungle"),
[]byte("minecraft:snowy_slopes"),
[]byte("minecraft:birch_forest"),
[]byte("minecraft:mangrove_swamp"),
[]byte("minecraft:ocean"),
[]byte("minecraft:cold_ocean"),
[]byte("minecraft:soul_sand_valley"),
[]byte("minecraft:warped_forest"),
[]byte("minecraft:badlands"),
[]byte("minecraft:pale_garden"),
[]byte("minecraft:windswept_hills"),
[]byte("minecraft:windswept_savanna"),
[]byte("minecraft:wooded_badlands"),
}
)

Binary file not shown.

Binary file not shown.

View File

@ -13,6 +13,7 @@ var EntityList = [...]Entity{
SignEntity{},
HangingSignEntity{},
MobSpawnerEntity{},
CreakingHeartEntity{},
PistonEntity{},
BrewingStandEntity{},
EnchantingTableEntity{},
@ -47,6 +48,8 @@ var EntityList = [...]Entity{
CrafterEntity{},
TrialSpawnerEntity{},
VaultEntity{},
TestBlockEntity{},
TestInstanceBlockEntity{},
}
func (FurnaceEntity) ID() string { return "minecraft:furnace" }
@ -59,6 +62,7 @@ func (DropperEntity) ID() string { return "minecraft:dropper" }
func (SignEntity) ID() string { return "minecraft:sign" }
func (HangingSignEntity) ID() string { return "minecraft:hanging_sign" }
func (MobSpawnerEntity) ID() string { return "minecraft:mob_spawner" }
func (CreakingHeartEntity) ID() string { return "minecraft:creaking_heart" }
func (PistonEntity) ID() string { return "minecraft:piston" }
func (BrewingStandEntity) ID() string { return "minecraft:brewing_stand" }
func (EnchantingTableEntity) ID() string { return "minecraft:enchanting_table" }
@ -93,6 +97,8 @@ func (DecoratedPotEntity) ID() string { return "minecraft:decorated_pot
func (CrafterEntity) ID() string { return "minecraft:crafter" }
func (TrialSpawnerEntity) ID() string { return "minecraft:trial_spawner" }
func (VaultEntity) ID() string { return "minecraft:vault" }
func (TestBlockEntity) ID() string { return "minecraft:test_block" }
func (TestInstanceBlockEntity) ID() string { return "minecraft:test_instance_block" }
func (f FurnaceEntity) IsValidBlock(block Block) bool {
return block.ID() == "minecraft:furnace"
@ -124,28 +130,30 @@ func (d DropperEntity) IsValidBlock(block Block) bool {
func (s SignEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:oak_sign",
"minecraft:spruce_sign",
"minecraft:birch_sign",
"minecraft:acacia_sign",
"minecraft:cherry_sign",
"minecraft:jungle_sign",
"minecraft:dark_oak_sign",
"minecraft:oak_wall_sign",
"minecraft:spruce_wall_sign",
"minecraft:birch_wall_sign",
"minecraft:acacia_wall_sign",
"minecraft:cherry_wall_sign",
"minecraft:jungle_wall_sign",
"minecraft:dark_oak_wall_sign",
"minecraft:crimson_sign",
case "minecraft:acacia_sign",
"minecraft:crimson_wall_sign",
"minecraft:warped_sign",
"minecraft:pale_oak_wall_sign",
"minecraft:dark_oak_sign",
"minecraft:warped_wall_sign",
"minecraft:mangrove_sign",
"minecraft:mangrove_wall_sign",
"minecraft:spruce_wall_sign",
"minecraft:bamboo_sign",
"minecraft:bamboo_wall_sign":
"minecraft:jungle_wall_sign",
"minecraft:birch_sign",
"minecraft:mangrove_sign",
"minecraft:spruce_sign",
"minecraft:mangrove_wall_sign",
"minecraft:pale_oak_sign",
"minecraft:birch_wall_sign",
"minecraft:dark_oak_wall_sign",
"minecraft:bamboo_wall_sign",
"minecraft:jungle_sign",
"minecraft:cherry_wall_sign",
"minecraft:warped_sign",
"minecraft:oak_sign",
"minecraft:cherry_sign",
"minecraft:crimson_sign",
"minecraft:oak_wall_sign",
"minecraft:acacia_wall_sign":
return true
default:
return false
@ -155,27 +163,29 @@ func (s SignEntity) IsValidBlock(block Block) bool {
func (h HangingSignEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:oak_hanging_sign",
"minecraft:spruce_hanging_sign",
"minecraft:jungle_wall_hanging_sign",
"minecraft:cherry_hanging_sign",
"minecraft:crimson_wall_hanging_sign",
"minecraft:bamboo_wall_hanging_sign",
"minecraft:birch_hanging_sign",
"minecraft:acacia_hanging_sign",
"minecraft:cherry_hanging_sign",
"minecraft:jungle_hanging_sign",
"minecraft:spruce_hanging_sign",
"minecraft:dark_oak_hanging_sign",
"minecraft:crimson_hanging_sign",
"minecraft:warped_hanging_sign",
"minecraft:mangrove_hanging_sign",
"minecraft:bamboo_hanging_sign",
"minecraft:oak_wall_hanging_sign",
"minecraft:spruce_wall_hanging_sign",
"minecraft:birch_wall_hanging_sign",
"minecraft:acacia_wall_hanging_sign",
"minecraft:cherry_wall_hanging_sign",
"minecraft:jungle_wall_hanging_sign",
"minecraft:dark_oak_wall_hanging_sign",
"minecraft:crimson_wall_hanging_sign",
"minecraft:warped_wall_hanging_sign",
"minecraft:mangrove_hanging_sign",
"minecraft:cherry_wall_hanging_sign",
"minecraft:pale_oak_wall_hanging_sign",
"minecraft:bamboo_hanging_sign",
"minecraft:jungle_hanging_sign",
"minecraft:oak_wall_hanging_sign",
"minecraft:dark_oak_wall_hanging_sign",
"minecraft:pale_oak_hanging_sign",
"minecraft:spruce_wall_hanging_sign",
"minecraft:warped_hanging_sign",
"minecraft:mangrove_wall_hanging_sign",
"minecraft:bamboo_wall_hanging_sign":
"minecraft:crimson_hanging_sign",
"minecraft:acacia_wall_hanging_sign":
return true
default:
return false
@ -186,6 +196,10 @@ func (m MobSpawnerEntity) IsValidBlock(block Block) bool {
return block.ID() == "minecraft:spawner"
}
func (c CreakingHeartEntity) IsValidBlock(block Block) bool {
return block.ID() == "minecraft:creaking_heart"
}
func (p PistonEntity) IsValidBlock(block Block) bool {
return block.ID() == "minecraft:moving_piston"
}
@ -209,19 +223,19 @@ func (b BeaconEntity) IsValidBlock(block Block) bool {
func (s SkullEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:skeleton_skull",
"minecraft:skeleton_wall_skull",
"minecraft:creeper_head",
"minecraft:creeper_wall_head",
"minecraft:dragon_head",
"minecraft:dragon_wall_head",
"minecraft:zombie_head",
"minecraft:zombie_wall_head",
"minecraft:wither_skeleton_skull",
"minecraft:wither_skeleton_wall_skull",
"minecraft:player_head",
"minecraft:piglin_wall_head",
"minecraft:creeper_wall_head",
"minecraft:zombie_wall_head",
"minecraft:dragon_wall_head",
"minecraft:skeleton_wall_skull",
"minecraft:wither_skeleton_wall_skull",
"minecraft:player_wall_head",
"minecraft:piglin_head",
"minecraft:piglin_wall_head":
"minecraft:piglin_head":
return true
default:
return false
@ -242,38 +256,38 @@ func (c ComparatorEntity) IsValidBlock(block Block) bool {
func (b BannerEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:white_banner",
"minecraft:orange_banner",
"minecraft:magenta_banner",
"minecraft:light_blue_banner",
"minecraft:yellow_banner",
"minecraft:lime_banner",
"minecraft:pink_banner",
"minecraft:gray_banner",
"minecraft:light_gray_banner",
"minecraft:cyan_banner",
"minecraft:purple_banner",
"minecraft:blue_banner",
"minecraft:brown_banner",
"minecraft:green_banner",
"minecraft:red_banner",
"minecraft:black_banner",
"minecraft:white_wall_banner",
"minecraft:orange_wall_banner",
"minecraft:magenta_wall_banner",
case "minecraft:light_gray_wall_banner",
"minecraft:light_blue_wall_banner",
"minecraft:yellow_wall_banner",
"minecraft:lime_wall_banner",
"minecraft:pink_wall_banner",
"minecraft:gray_wall_banner",
"minecraft:light_gray_wall_banner",
"minecraft:cyan_wall_banner",
"minecraft:purple_wall_banner",
"minecraft:blue_wall_banner",
"minecraft:brown_wall_banner",
"minecraft:orange_wall_banner",
"minecraft:green_wall_banner",
"minecraft:brown_wall_banner",
"minecraft:gray_banner",
"minecraft:green_banner",
"minecraft:orange_banner",
"minecraft:black_banner",
"minecraft:white_wall_banner",
"minecraft:gray_wall_banner",
"minecraft:magenta_wall_banner",
"minecraft:cyan_wall_banner",
"minecraft:white_banner",
"minecraft:pink_wall_banner",
"minecraft:blue_wall_banner",
"minecraft:lime_banner",
"minecraft:yellow_banner",
"minecraft:purple_banner",
"minecraft:purple_wall_banner",
"minecraft:cyan_banner",
"minecraft:brown_banner",
"minecraft:red_banner",
"minecraft:blue_banner",
"minecraft:light_gray_banner",
"minecraft:black_wall_banner",
"minecraft:lime_wall_banner",
"minecraft:red_wall_banner",
"minecraft:black_wall_banner":
"minecraft:magenta_banner",
"minecraft:light_blue_banner",
"minecraft:pink_banner":
return true
default:
return false
@ -291,8 +305,8 @@ func (e EndGatewayEntity) IsValidBlock(block Block) bool {
func (c CommandBlockEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:command_block",
"minecraft:chain_command_block",
"minecraft:repeating_command_block":
"minecraft:repeating_command_block",
"minecraft:chain_command_block":
return true
default:
return false
@ -301,23 +315,23 @@ func (c CommandBlockEntity) IsValidBlock(block Block) bool {
func (s ShulkerBoxEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:shulker_box",
"minecraft:black_shulker_box",
"minecraft:blue_shulker_box",
"minecraft:brown_shulker_box",
"minecraft:cyan_shulker_box",
"minecraft:gray_shulker_box",
case "minecraft:light_blue_shulker_box",
"minecraft:green_shulker_box",
"minecraft:light_blue_shulker_box",
"minecraft:light_gray_shulker_box",
"minecraft:lime_shulker_box",
"minecraft:magenta_shulker_box",
"minecraft:orange_shulker_box",
"minecraft:pink_shulker_box",
"minecraft:black_shulker_box",
"minecraft:gray_shulker_box",
"minecraft:purple_shulker_box",
"minecraft:yellow_shulker_box",
"minecraft:red_shulker_box",
"minecraft:brown_shulker_box",
"minecraft:white_shulker_box",
"minecraft:yellow_shulker_box":
"minecraft:light_gray_shulker_box",
"minecraft:shulker_box",
"minecraft:lime_shulker_box",
"minecraft:pink_shulker_box",
"minecraft:blue_shulker_box",
"minecraft:magenta_shulker_box",
"minecraft:cyan_shulker_box":
return true
default:
return false
@ -326,22 +340,22 @@ func (s ShulkerBoxEntity) IsValidBlock(block Block) bool {
func (b BedEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:red_bed",
"minecraft:black_bed",
"minecraft:blue_bed",
case "minecraft:gray_bed",
"minecraft:brown_bed",
"minecraft:cyan_bed",
"minecraft:gray_bed",
"minecraft:green_bed",
"minecraft:light_blue_bed",
"minecraft:light_gray_bed",
"minecraft:lime_bed",
"minecraft:black_bed",
"minecraft:magenta_bed",
"minecraft:orange_bed",
"minecraft:pink_bed",
"minecraft:blue_bed",
"minecraft:light_gray_bed",
"minecraft:purple_bed",
"minecraft:white_bed",
"minecraft:yellow_bed":
"minecraft:red_bed",
"minecraft:yellow_bed",
"minecraft:light_blue_bed",
"minecraft:green_bed",
"minecraft:lime_bed":
return true
default:
return false
@ -378,8 +392,8 @@ func (j JigsawEntity) IsValidBlock(block Block) bool {
func (c CampfireEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:campfire",
"minecraft:soul_campfire":
case "minecraft:soul_campfire",
"minecraft:campfire":
return true
default:
return false
@ -388,8 +402,8 @@ func (c CampfireEntity) IsValidBlock(block Block) bool {
func (b BeehiveEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:bee_nest",
"minecraft:beehive":
case "minecraft:beehive",
"minecraft:bee_nest":
return true
default:
return false
@ -418,8 +432,8 @@ func (c ChiseledBookshelfEntity) IsValidBlock(block Block) bool {
func (b BrushableBlockEntity) IsValidBlock(block Block) bool {
switch block.ID() {
case "minecraft:suspicious_sand",
"minecraft:suspicious_gravel":
case "minecraft:suspicious_gravel",
"minecraft:suspicious_sand":
return true
default:
return false
@ -441,3 +455,11 @@ func (t TrialSpawnerEntity) IsValidBlock(block Block) bool {
func (v VaultEntity) IsValidBlock(block Block) bool {
return block.ID() == "minecraft:vault"
}
func (t TestBlockEntity) IsValidBlock(block Block) bool {
return block.ID() == "minecraft:test_block"
}
func (t TestInstanceBlockEntity) IsValidBlock(block Block) bool {
return block.ID() == "minecraft:test_instance_block"
}

View File

@ -17,6 +17,7 @@ type (
SignEntity struct{}
HangingSignEntity struct{}
MobSpawnerEntity struct{}
CreakingHeartEntity struct{}
PistonEntity struct{}
BrewingStandEntity struct{}
EnchantingTableEntity struct{}
@ -52,6 +53,8 @@ type (
CrafterEntity struct{}
TrialSpawnerEntity struct{}
VaultEntity struct{}
TestBlockEntity struct{}
TestInstanceBlockEntity struct{}
)
type EntityType int32

View File

@ -19,14 +19,18 @@ type (
Podzol struct {
Snowy Boolean `nbt:"snowy"`
}
Cobblestone struct{}
OakPlanks struct{}
SprucePlanks struct{}
BirchPlanks struct{}
JunglePlanks struct{}
AcaciaPlanks struct{}
CherryPlanks struct{}
DarkOakPlanks struct{}
Cobblestone struct{}
OakPlanks struct{}
SprucePlanks struct{}
BirchPlanks struct{}
JunglePlanks struct{}
AcaciaPlanks struct{}
CherryPlanks struct{}
DarkOakPlanks struct{}
PaleOakWood struct {
Axis Axis `nbt:"axis"`
}
PaleOakPlanks struct{}
MangrovePlanks struct{}
BambooPlanks struct{}
BambooMosaic struct{}
@ -51,6 +55,9 @@ type (
DarkOakSapling struct {
Stage Integer `nbt:"stage"`
}
PaleOakSapling struct {
Stage Integer `nbt:"stage"`
}
MangrovePropagule struct {
Age Integer `nbt:"age"`
Hanging Boolean `nbt:"hanging"`
@ -101,6 +108,9 @@ type (
DarkOakLog struct {
Axis Axis `nbt:"axis"`
}
PaleOakLog struct {
Axis Axis `nbt:"axis"`
}
MangroveLog struct {
Axis Axis `nbt:"axis"`
}
@ -131,6 +141,9 @@ type (
StrippedDarkOakLog struct {
Axis Axis `nbt:"axis"`
}
StrippedPaleOakLog struct {
Axis Axis `nbt:"axis"`
}
StrippedOakLog struct {
Axis Axis `nbt:"axis"`
}
@ -185,6 +198,9 @@ type (
StrippedDarkOakWood struct {
Axis Axis `nbt:"axis"`
}
StrippedPaleOakWood struct {
Axis Axis `nbt:"axis"`
}
StrippedMangroveWood struct {
Axis Axis `nbt:"axis"`
}
@ -223,6 +239,11 @@ type (
Persistent Boolean `nbt:"persistent"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakLeaves struct {
Distance Integer `nbt:"distance"`
Persistent Boolean `nbt:"persistent"`
Waterlogged Boolean `nbt:"waterlogged"`
}
MangroveLeaves struct {
Distance Integer `nbt:"distance"`
Persistent Boolean `nbt:"persistent"`
@ -350,12 +371,15 @@ type (
Extended Boolean `nbt:"extended"`
Facing Direction `nbt:"facing"`
}
Cobweb struct{}
ShortGrass struct{}
Fern struct{}
DeadBush struct{}
Seagrass struct{}
TallSeagrass struct {
Cobweb struct{}
ShortGrass struct{}
Fern struct{}
DeadBush struct{}
Bush struct{}
ShortDryGrass struct{}
TallDryGrass struct{}
Seagrass struct{}
TallSeagrass struct {
Half DoubleBlockHalf `nbt:"half"`
}
Piston struct {
@ -433,8 +457,13 @@ type (
Up Boolean `nbt:"up"`
West Boolean `nbt:"west"`
}
SoulFire struct{}
Spawner struct{}
SoulFire struct{}
Spawner struct{}
CreakingHeart struct {
Axis Axis `nbt:"axis"`
Creaking_heart_state CreakingHeartState `nbt:"creaking_heart_state"`
Natural Boolean `nbt:"natural"`
}
OakStairs struct {
Facing Direction `nbt:"facing"`
Half Half `nbt:"half"`
@ -495,6 +524,10 @@ type (
Rotation Integer `nbt:"rotation"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakSign struct {
Rotation Integer `nbt:"rotation"`
Waterlogged Boolean `nbt:"waterlogged"`
}
MangroveSign struct {
Rotation Integer `nbt:"rotation"`
Waterlogged Boolean `nbt:"waterlogged"`
@ -552,6 +585,10 @@ type (
Facing Direction `nbt:"facing"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakWallSign struct {
Facing Direction `nbt:"facing"`
Waterlogged Boolean `nbt:"waterlogged"`
}
MangroveWallSign struct {
Facing Direction `nbt:"facing"`
Waterlogged Boolean `nbt:"waterlogged"`
@ -595,6 +632,11 @@ type (
Rotation Integer `nbt:"rotation"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakHangingSign struct {
Attached Boolean `nbt:"attached"`
Rotation Integer `nbt:"rotation"`
Waterlogged Boolean `nbt:"waterlogged"`
}
CrimsonHangingSign struct {
Attached Boolean `nbt:"attached"`
Rotation Integer `nbt:"rotation"`
@ -643,6 +685,10 @@ type (
Facing Direction `nbt:"facing"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakWallHangingSign struct {
Facing Direction `nbt:"facing"`
Waterlogged Boolean `nbt:"waterlogged"`
}
MangroveWallHangingSign struct {
Facing Direction `nbt:"facing"`
Waterlogged Boolean `nbt:"waterlogged"`
@ -695,6 +741,9 @@ type (
DarkOakPressurePlate struct {
Powered Boolean `nbt:"powered"`
}
PaleOakPressurePlate struct {
Powered Boolean `nbt:"powered"`
}
MangrovePressurePlate struct {
Powered Boolean `nbt:"powered"`
}
@ -727,8 +776,9 @@ type (
Cactus struct {
Age Integer `nbt:"age"`
}
Clay struct{}
SugarCane struct {
CactusFlower struct{}
Clay struct{}
SugarCane struct {
Age Integer `nbt:"age"`
}
Jukebox struct {
@ -838,6 +888,13 @@ type (
Powered Boolean `nbt:"powered"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakTrapdoor struct {
Facing Direction `nbt:"facing"`
Half Half `nbt:"half"`
Open Boolean `nbt:"open"`
Powered Boolean `nbt:"powered"`
Waterlogged Boolean `nbt:"waterlogged"`
}
MangroveTrapdoor struct {
Facing Direction `nbt:"facing"`
Half Half `nbt:"half"`
@ -936,6 +993,15 @@ type (
Waterlogged Boolean `nbt:"waterlogged"`
West Boolean `nbt:"west"`
}
ResinClump struct {
Down Boolean `nbt:"down"`
East Boolean `nbt:"east"`
North Boolean `nbt:"north"`
South Boolean `nbt:"south"`
Up Boolean `nbt:"up"`
Waterlogged Boolean `nbt:"waterlogged"`
West Boolean `nbt:"west"`
}
OakFenceGate struct {
Facing Direction `nbt:"facing"`
In_wall Boolean `nbt:"in_wall"`
@ -964,8 +1030,29 @@ type (
Snowy Boolean `nbt:"snowy"`
}
LilyPad struct{}
NetherBricks struct{}
NetherBrickFence struct {
ResinBlock struct{}
ResinBricks struct{}
ResinBrickStairs struct {
Facing Direction `nbt:"facing"`
Half Half `nbt:"half"`
Shape StairsShape `nbt:"shape"`
Waterlogged Boolean `nbt:"waterlogged"`
}
ResinBrickSlab struct {
Type SlabType `nbt:"type"`
Waterlogged Boolean `nbt:"waterlogged"`
}
ResinBrickWall struct {
East WallSide `nbt:"east"`
North WallSide `nbt:"north"`
South WallSide `nbt:"south"`
Up Boolean `nbt:"up"`
Waterlogged Boolean `nbt:"waterlogged"`
West WallSide `nbt:"west"`
}
ChiseledResinBricks struct{}
NetherBricks struct{}
NetherBrickFence struct {
East Boolean `nbt:"east"`
North Boolean `nbt:"north"`
South Boolean `nbt:"south"`
@ -1084,6 +1171,7 @@ type (
PottedAcaciaSapling struct{}
PottedCherrySapling struct{}
PottedDarkOakSapling struct{}
PottedPaleOakSapling struct{}
PottedMangrovePropagule struct{}
PottedFern struct{}
PottedDandelion struct{}
@ -1144,6 +1232,11 @@ type (
Facing Direction `nbt:"facing"`
Powered Boolean `nbt:"powered"`
}
PaleOakButton struct {
Face AttachFace `nbt:"face"`
Facing Direction `nbt:"facing"`
Powered Boolean `nbt:"powered"`
}
MangroveButton struct {
Face AttachFace `nbt:"face"`
Facing Direction `nbt:"facing"`
@ -1411,6 +1504,12 @@ type (
Shape StairsShape `nbt:"shape"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakStairs struct {
Facing Direction `nbt:"facing"`
Half Half `nbt:"half"`
Shape StairsShape `nbt:"shape"`
Waterlogged Boolean `nbt:"waterlogged"`
}
MangroveStairs struct {
Facing Direction `nbt:"facing"`
Half Half `nbt:"half"`
@ -1651,6 +1750,10 @@ type (
Type SlabType `nbt:"type"`
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleOakSlab struct {
Type SlabType `nbt:"type"`
Waterlogged Boolean `nbt:"waterlogged"`
}
MangroveSlab struct {
Type SlabType `nbt:"type"`
Waterlogged Boolean `nbt:"waterlogged"`
@ -1759,6 +1862,12 @@ type (
Open Boolean `nbt:"open"`
Powered Boolean `nbt:"powered"`
}
PaleOakFenceGate struct {
Facing Direction `nbt:"facing"`
In_wall Boolean `nbt:"in_wall"`
Open Boolean `nbt:"open"`
Powered Boolean `nbt:"powered"`
}
MangroveFenceGate struct {
Facing Direction `nbt:"facing"`
In_wall Boolean `nbt:"in_wall"`
@ -1813,6 +1922,13 @@ type (
Waterlogged Boolean `nbt:"waterlogged"`
West Boolean `nbt:"west"`
}
PaleOakFence struct {
East Boolean `nbt:"east"`
North Boolean `nbt:"north"`
South Boolean `nbt:"south"`
Waterlogged Boolean `nbt:"waterlogged"`
West Boolean `nbt:"west"`
}
MangroveFence struct {
East Boolean `nbt:"east"`
North Boolean `nbt:"north"`
@ -1869,6 +1985,13 @@ type (
Open Boolean `nbt:"open"`
Powered Boolean `nbt:"powered"`
}
PaleOakDoor struct {
Facing Direction `nbt:"facing"`
Half DoubleBlockHalf `nbt:"half"`
Hinge DoorHingeSide `nbt:"hinge"`
Open Boolean `nbt:"open"`
Powered Boolean `nbt:"powered"`
}
MangroveDoor struct {
Facing Direction `nbt:"facing"`
Half DoubleBlockHalf `nbt:"half"`
@ -2088,6 +2211,11 @@ type (
SnifferEgg struct {
Hatch Integer `nbt:"hatch"`
}
DriedGhast struct {
Facing Direction `nbt:"facing"`
Hydration Integer `nbt:"hydration"`
Waterlogged Boolean `nbt:"waterlogged"`
}
DeadTubeCoralBlock struct{}
DeadBrainCoralBlock struct{}
DeadBubbleCoralBlock struct{}
@ -2676,7 +2804,11 @@ type (
Jigsaw struct {
Orientation FrontAndTop `nbt:"orientation"`
}
Composter struct {
TestBlock struct {
Mode TestBlockMode `nbt:"mode"`
}
TestInstanceBlock struct{}
Composter struct {
Level Integer `nbt:"level"`
}
Target struct {
@ -3319,6 +3451,14 @@ type (
Facing Direction `nbt:"facing"`
Flower_amount Integer `nbt:"flower_amount"`
}
Wildflowers struct {
Facing Direction `nbt:"facing"`
Flower_amount Integer `nbt:"flower_amount"`
}
LeafLitter struct {
Facing Direction `nbt:"facing"`
Segment_amount Integer `nbt:"segment_amount"`
}
MossBlock struct{}
BigDripleaf struct {
Facing Direction `nbt:"facing"`
@ -3463,6 +3603,22 @@ type (
HeavyCore struct {
Waterlogged Boolean `nbt:"waterlogged"`
}
PaleMossBlock struct{}
PaleMossCarpet struct {
Bottom Boolean `nbt:"bottom"`
East WallSide `nbt:"east"`
North WallSide `nbt:"north"`
South WallSide `nbt:"south"`
West WallSide `nbt:"west"`
}
PaleHangingMoss struct {
Tip Boolean `nbt:"tip"`
}
OpenEyeblossom struct{}
ClosedEyeblossom struct{}
PottedOpenEyeblossom struct{}
PottedClosedEyeblossom struct{}
FireflyBush struct{}
)
func (Air) ID() string { return "minecraft:air" }
@ -3485,6 +3641,8 @@ func (JunglePlanks) ID() string { return "minecraft:jungle_planks
func (AcaciaPlanks) ID() string { return "minecraft:acacia_planks" }
func (CherryPlanks) ID() string { return "minecraft:cherry_planks" }
func (DarkOakPlanks) ID() string { return "minecraft:dark_oak_planks" }
func (PaleOakWood) ID() string { return "minecraft:pale_oak_wood" }
func (PaleOakPlanks) ID() string { return "minecraft:pale_oak_planks" }
func (MangrovePlanks) ID() string { return "minecraft:mangrove_planks" }
func (BambooPlanks) ID() string { return "minecraft:bamboo_planks" }
func (BambooMosaic) ID() string { return "minecraft:bamboo_mosaic" }
@ -3495,6 +3653,7 @@ func (JungleSapling) ID() string { return "minecraft:jungle_saplin
func (AcaciaSapling) ID() string { return "minecraft:acacia_sapling" }
func (CherrySapling) ID() string { return "minecraft:cherry_sapling" }
func (DarkOakSapling) ID() string { return "minecraft:dark_oak_sapling" }
func (PaleOakSapling) ID() string { return "minecraft:pale_oak_sapling" }
func (MangrovePropagule) ID() string { return "minecraft:mangrove_propagule" }
func (Bedrock) ID() string { return "minecraft:bedrock" }
func (Water) ID() string { return "minecraft:water" }
@ -3518,6 +3677,7 @@ func (JungleLog) ID() string { return "minecraft:jungle_log" }
func (AcaciaLog) ID() string { return "minecraft:acacia_log" }
func (CherryLog) ID() string { return "minecraft:cherry_log" }
func (DarkOakLog) ID() string { return "minecraft:dark_oak_log" }
func (PaleOakLog) ID() string { return "minecraft:pale_oak_log" }
func (MangroveLog) ID() string { return "minecraft:mangrove_log" }
func (MangroveRoots) ID() string { return "minecraft:mangrove_roots" }
func (MuddyMangroveRoots) ID() string { return "minecraft:muddy_mangrove_roots" }
@ -3528,6 +3688,7 @@ func (StrippedJungleLog) ID() string { return "minecraft:stripped_jung
func (StrippedAcaciaLog) ID() string { return "minecraft:stripped_acacia_log" }
func (StrippedCherryLog) ID() string { return "minecraft:stripped_cherry_log" }
func (StrippedDarkOakLog) ID() string { return "minecraft:stripped_dark_oak_log" }
func (StrippedPaleOakLog) ID() string { return "minecraft:stripped_pale_oak_log" }
func (StrippedOakLog) ID() string { return "minecraft:stripped_oak_log" }
func (StrippedMangroveLog) ID() string { return "minecraft:stripped_mangrove_log" }
func (StrippedBambooBlock) ID() string { return "minecraft:stripped_bamboo_block" }
@ -3546,6 +3707,7 @@ func (StrippedJungleWood) ID() string { return "minecraft:stripped_jung
func (StrippedAcaciaWood) ID() string { return "minecraft:stripped_acacia_wood" }
func (StrippedCherryWood) ID() string { return "minecraft:stripped_cherry_wood" }
func (StrippedDarkOakWood) ID() string { return "minecraft:stripped_dark_oak_wood" }
func (StrippedPaleOakWood) ID() string { return "minecraft:stripped_pale_oak_wood" }
func (StrippedMangroveWood) ID() string { return "minecraft:stripped_mangrove_wood" }
func (OakLeaves) ID() string { return "minecraft:oak_leaves" }
func (SpruceLeaves) ID() string { return "minecraft:spruce_leaves" }
@ -3554,6 +3716,7 @@ func (JungleLeaves) ID() string { return "minecraft:jungle_leaves
func (AcaciaLeaves) ID() string { return "minecraft:acacia_leaves" }
func (CherryLeaves) ID() string { return "minecraft:cherry_leaves" }
func (DarkOakLeaves) ID() string { return "minecraft:dark_oak_leaves" }
func (PaleOakLeaves) ID() string { return "minecraft:pale_oak_leaves" }
func (MangroveLeaves) ID() string { return "minecraft:mangrove_leaves" }
func (AzaleaLeaves) ID() string { return "minecraft:azalea_leaves" }
func (FloweringAzaleaLeaves) ID() string { return "minecraft:flowering_azalea_leaves" }
@ -3591,6 +3754,9 @@ func (Cobweb) ID() string { return "minecraft:cobweb" }
func (ShortGrass) ID() string { return "minecraft:short_grass" }
func (Fern) ID() string { return "minecraft:fern" }
func (DeadBush) ID() string { return "minecraft:dead_bush" }
func (Bush) ID() string { return "minecraft:bush" }
func (ShortDryGrass) ID() string { return "minecraft:short_dry_grass" }
func (TallDryGrass) ID() string { return "minecraft:tall_dry_grass" }
func (Seagrass) ID() string { return "minecraft:seagrass" }
func (TallSeagrass) ID() string { return "minecraft:tall_seagrass" }
func (Piston) ID() string { return "minecraft:piston" }
@ -3641,6 +3807,7 @@ func (WallTorch) ID() string { return "minecraft:wall_torch" }
func (Fire) ID() string { return "minecraft:fire" }
func (SoulFire) ID() string { return "minecraft:soul_fire" }
func (Spawner) ID() string { return "minecraft:spawner" }
func (CreakingHeart) ID() string { return "minecraft:creaking_heart" }
func (OakStairs) ID() string { return "minecraft:oak_stairs" }
func (Chest) ID() string { return "minecraft:chest" }
func (RedstoneWire) ID() string { return "minecraft:redstone_wire" }
@ -3658,6 +3825,7 @@ func (AcaciaSign) ID() string { return "minecraft:acacia_sign"
func (CherrySign) ID() string { return "minecraft:cherry_sign" }
func (JungleSign) ID() string { return "minecraft:jungle_sign" }
func (DarkOakSign) ID() string { return "minecraft:dark_oak_sign" }
func (PaleOakSign) ID() string { return "minecraft:pale_oak_sign" }
func (MangroveSign) ID() string { return "minecraft:mangrove_sign" }
func (BambooSign) ID() string { return "minecraft:bamboo_sign" }
func (OakDoor) ID() string { return "minecraft:oak_door" }
@ -3671,6 +3839,7 @@ func (AcaciaWallSign) ID() string { return "minecraft:acacia_wall_s
func (CherryWallSign) ID() string { return "minecraft:cherry_wall_sign" }
func (JungleWallSign) ID() string { return "minecraft:jungle_wall_sign" }
func (DarkOakWallSign) ID() string { return "minecraft:dark_oak_wall_sign" }
func (PaleOakWallSign) ID() string { return "minecraft:pale_oak_wall_sign" }
func (MangroveWallSign) ID() string { return "minecraft:mangrove_wall_sign" }
func (BambooWallSign) ID() string { return "minecraft:bamboo_wall_sign" }
func (OakHangingSign) ID() string { return "minecraft:oak_hanging_sign" }
@ -3680,6 +3849,7 @@ func (AcaciaHangingSign) ID() string { return "minecraft:acacia_hangin
func (CherryHangingSign) ID() string { return "minecraft:cherry_hanging_sign" }
func (JungleHangingSign) ID() string { return "minecraft:jungle_hanging_sign" }
func (DarkOakHangingSign) ID() string { return "minecraft:dark_oak_hanging_sign" }
func (PaleOakHangingSign) ID() string { return "minecraft:pale_oak_hanging_sign" }
func (CrimsonHangingSign) ID() string { return "minecraft:crimson_hanging_sign" }
func (WarpedHangingSign) ID() string { return "minecraft:warped_hanging_sign" }
func (MangroveHangingSign) ID() string { return "minecraft:mangrove_hanging_sign" }
@ -3691,6 +3861,7 @@ func (AcaciaWallHangingSign) ID() string { return "minecraft:acacia_wall_h
func (CherryWallHangingSign) ID() string { return "minecraft:cherry_wall_hanging_sign" }
func (JungleWallHangingSign) ID() string { return "minecraft:jungle_wall_hanging_sign" }
func (DarkOakWallHangingSign) ID() string { return "minecraft:dark_oak_wall_hanging_sign" }
func (PaleOakWallHangingSign) ID() string { return "minecraft:pale_oak_wall_hanging_sign" }
func (MangroveWallHangingSign) ID() string { return "minecraft:mangrove_wall_hanging_sign" }
func (CrimsonWallHangingSign) ID() string { return "minecraft:crimson_wall_hanging_sign" }
func (WarpedWallHangingSign) ID() string { return "minecraft:warped_wall_hanging_sign" }
@ -3705,6 +3876,7 @@ func (JunglePressurePlate) ID() string { return "minecraft:jungle_pressu
func (AcaciaPressurePlate) ID() string { return "minecraft:acacia_pressure_plate" }
func (CherryPressurePlate) ID() string { return "minecraft:cherry_pressure_plate" }
func (DarkOakPressurePlate) ID() string { return "minecraft:dark_oak_pressure_plate" }
func (PaleOakPressurePlate) ID() string { return "minecraft:pale_oak_pressure_plate" }
func (MangrovePressurePlate) ID() string { return "minecraft:mangrove_pressure_plate" }
func (BambooPressurePlate) ID() string { return "minecraft:bamboo_pressure_plate" }
func (RedstoneOre) ID() string { return "minecraft:redstone_ore" }
@ -3716,6 +3888,7 @@ func (Snow) ID() string { return "minecraft:snow" }
func (Ice) ID() string { return "minecraft:ice" }
func (SnowBlock) ID() string { return "minecraft:snow_block" }
func (Cactus) ID() string { return "minecraft:cactus" }
func (CactusFlower) ID() string { return "minecraft:cactus_flower" }
func (Clay) ID() string { return "minecraft:clay" }
func (SugarCane) ID() string { return "minecraft:sugar_cane" }
func (Jukebox) ID() string { return "minecraft:jukebox" }
@ -3756,6 +3929,7 @@ func (JungleTrapdoor) ID() string { return "minecraft:jungle_trapdo
func (AcaciaTrapdoor) ID() string { return "minecraft:acacia_trapdoor" }
func (CherryTrapdoor) ID() string { return "minecraft:cherry_trapdoor" }
func (DarkOakTrapdoor) ID() string { return "minecraft:dark_oak_trapdoor" }
func (PaleOakTrapdoor) ID() string { return "minecraft:pale_oak_trapdoor" }
func (MangroveTrapdoor) ID() string { return "minecraft:mangrove_trapdoor" }
func (BambooTrapdoor) ID() string { return "minecraft:bamboo_trapdoor" }
func (StoneBricks) ID() string { return "minecraft:stone_bricks" }
@ -3784,12 +3958,19 @@ func (PumpkinStem) ID() string { return "minecraft:pumpkin_stem"
func (MelonStem) ID() string { return "minecraft:melon_stem" }
func (Vine) ID() string { return "minecraft:vine" }
func (GlowLichen) ID() string { return "minecraft:glow_lichen" }
func (ResinClump) ID() string { return "minecraft:resin_clump" }
func (OakFenceGate) ID() string { return "minecraft:oak_fence_gate" }
func (BrickStairs) ID() string { return "minecraft:brick_stairs" }
func (StoneBrickStairs) ID() string { return "minecraft:stone_brick_stairs" }
func (MudBrickStairs) ID() string { return "minecraft:mud_brick_stairs" }
func (Mycelium) ID() string { return "minecraft:mycelium" }
func (LilyPad) ID() string { return "minecraft:lily_pad" }
func (ResinBlock) ID() string { return "minecraft:resin_block" }
func (ResinBricks) ID() string { return "minecraft:resin_bricks" }
func (ResinBrickStairs) ID() string { return "minecraft:resin_brick_stairs" }
func (ResinBrickSlab) ID() string { return "minecraft:resin_brick_slab" }
func (ResinBrickWall) ID() string { return "minecraft:resin_brick_wall" }
func (ChiseledResinBricks) ID() string { return "minecraft:chiseled_resin_bricks" }
func (NetherBricks) ID() string { return "minecraft:nether_bricks" }
func (NetherBrickFence) ID() string { return "minecraft:nether_brick_fence" }
func (NetherBrickStairs) ID() string { return "minecraft:nether_brick_stairs" }
@ -3829,6 +4010,7 @@ func (PottedJungleSapling) ID() string { return "minecraft:potted_jungle
func (PottedAcaciaSapling) ID() string { return "minecraft:potted_acacia_sapling" }
func (PottedCherrySapling) ID() string { return "minecraft:potted_cherry_sapling" }
func (PottedDarkOakSapling) ID() string { return "minecraft:potted_dark_oak_sapling" }
func (PottedPaleOakSapling) ID() string { return "minecraft:potted_pale_oak_sapling" }
func (PottedMangrovePropagule) ID() string { return "minecraft:potted_mangrove_propagule" }
func (PottedFern) ID() string { return "minecraft:potted_fern" }
func (PottedDandelion) ID() string { return "minecraft:potted_dandelion" }
@ -3857,6 +4039,7 @@ func (JungleButton) ID() string { return "minecraft:jungle_button
func (AcaciaButton) ID() string { return "minecraft:acacia_button" }
func (CherryButton) ID() string { return "minecraft:cherry_button" }
func (DarkOakButton) ID() string { return "minecraft:dark_oak_button" }
func (PaleOakButton) ID() string { return "minecraft:pale_oak_button" }
func (MangroveButton) ID() string { return "minecraft:mangrove_button" }
func (BambooButton) ID() string { return "minecraft:bamboo_button" }
func (SkeletonSkull) ID() string { return "minecraft:skeleton_skull" }
@ -3925,6 +4108,7 @@ func (BlackStainedGlassPane) ID() string { return "minecraft:black_stained
func (AcaciaStairs) ID() string { return "minecraft:acacia_stairs" }
func (CherryStairs) ID() string { return "minecraft:cherry_stairs" }
func (DarkOakStairs) ID() string { return "minecraft:dark_oak_stairs" }
func (PaleOakStairs) ID() string { return "minecraft:pale_oak_stairs" }
func (MangroveStairs) ID() string { return "minecraft:mangrove_stairs" }
func (BambooStairs) ID() string { return "minecraft:bamboo_stairs" }
func (BambooMosaicStairs) ID() string { return "minecraft:bamboo_mosaic_stairs" }
@ -4011,6 +4195,7 @@ func (JungleSlab) ID() string { return "minecraft:jungle_slab"
func (AcaciaSlab) ID() string { return "minecraft:acacia_slab" }
func (CherrySlab) ID() string { return "minecraft:cherry_slab" }
func (DarkOakSlab) ID() string { return "minecraft:dark_oak_slab" }
func (PaleOakSlab) ID() string { return "minecraft:pale_oak_slab" }
func (MangroveSlab) ID() string { return "minecraft:mangrove_slab" }
func (BambooSlab) ID() string { return "minecraft:bamboo_slab" }
func (BambooMosaicSlab) ID() string { return "minecraft:bamboo_mosaic_slab" }
@ -4038,6 +4223,7 @@ func (JungleFenceGate) ID() string { return "minecraft:jungle_fence_
func (AcaciaFenceGate) ID() string { return "minecraft:acacia_fence_gate" }
func (CherryFenceGate) ID() string { return "minecraft:cherry_fence_gate" }
func (DarkOakFenceGate) ID() string { return "minecraft:dark_oak_fence_gate" }
func (PaleOakFenceGate) ID() string { return "minecraft:pale_oak_fence_gate" }
func (MangroveFenceGate) ID() string { return "minecraft:mangrove_fence_gate" }
func (BambooFenceGate) ID() string { return "minecraft:bamboo_fence_gate" }
func (SpruceFence) ID() string { return "minecraft:spruce_fence" }
@ -4046,6 +4232,7 @@ func (JungleFence) ID() string { return "minecraft:jungle_fence"
func (AcaciaFence) ID() string { return "minecraft:acacia_fence" }
func (CherryFence) ID() string { return "minecraft:cherry_fence" }
func (DarkOakFence) ID() string { return "minecraft:dark_oak_fence" }
func (PaleOakFence) ID() string { return "minecraft:pale_oak_fence" }
func (MangroveFence) ID() string { return "minecraft:mangrove_fence" }
func (BambooFence) ID() string { return "minecraft:bamboo_fence" }
func (SpruceDoor) ID() string { return "minecraft:spruce_door" }
@ -4054,6 +4241,7 @@ func (JungleDoor) ID() string { return "minecraft:jungle_door"
func (AcaciaDoor) ID() string { return "minecraft:acacia_door" }
func (CherryDoor) ID() string { return "minecraft:cherry_door" }
func (DarkOakDoor) ID() string { return "minecraft:dark_oak_door" }
func (PaleOakDoor) ID() string { return "minecraft:pale_oak_door" }
func (MangroveDoor) ID() string { return "minecraft:mangrove_door" }
func (BambooDoor) ID() string { return "minecraft:bamboo_door" }
func (EndRod) ID() string { return "minecraft:end_rod" }
@ -4148,6 +4336,7 @@ func (KelpPlant) ID() string { return "minecraft:kelp_plant" }
func (DriedKelpBlock) ID() string { return "minecraft:dried_kelp_block" }
func (TurtleEgg) ID() string { return "minecraft:turtle_egg" }
func (SnifferEgg) ID() string { return "minecraft:sniffer_egg" }
func (DriedGhast) ID() string { return "minecraft:dried_ghast" }
func (DeadTubeCoralBlock) ID() string { return "minecraft:dead_tube_coral_block" }
func (DeadBrainCoralBlock) ID() string { return "minecraft:dead_brain_coral_block" }
func (DeadBubbleCoralBlock) ID() string { return "minecraft:dead_bubble_coral_block" }
@ -4299,6 +4488,8 @@ func (CrimsonWallSign) ID() string { return "minecraft:crimson_wall_
func (WarpedWallSign) ID() string { return "minecraft:warped_wall_sign" }
func (StructureBlock) ID() string { return "minecraft:structure_block" }
func (Jigsaw) ID() string { return "minecraft:jigsaw" }
func (TestBlock) ID() string { return "minecraft:test_block" }
func (TestInstanceBlock) ID() string { return "minecraft:test_instance_block" }
func (Composter) ID() string { return "minecraft:composter" }
func (Target) ID() string { return "minecraft:target" }
func (BeeNest) ID() string { return "minecraft:bee_nest" }
@ -4487,6 +4678,8 @@ func (Azalea) ID() string { return "minecraft:azalea" }
func (FloweringAzalea) ID() string { return "minecraft:flowering_azalea" }
func (MossCarpet) ID() string { return "minecraft:moss_carpet" }
func (PinkPetals) ID() string { return "minecraft:pink_petals" }
func (Wildflowers) ID() string { return "minecraft:wildflowers" }
func (LeafLitter) ID() string { return "minecraft:leaf_litter" }
func (MossBlock) ID() string { return "minecraft:moss_block" }
func (BigDripleaf) ID() string { return "minecraft:big_dripleaf" }
func (BigDripleafStem) ID() string { return "minecraft:big_dripleaf_stem" }
@ -4531,6 +4724,14 @@ func (Crafter) ID() string { return "minecraft:crafter" }
func (TrialSpawner) ID() string { return "minecraft:trial_spawner" }
func (Vault) ID() string { return "minecraft:vault" }
func (HeavyCore) ID() string { return "minecraft:heavy_core" }
func (PaleMossBlock) ID() string { return "minecraft:pale_moss_block" }
func (PaleMossCarpet) ID() string { return "minecraft:pale_moss_carpet" }
func (PaleHangingMoss) ID() string { return "minecraft:pale_hanging_moss" }
func (OpenEyeblossom) ID() string { return "minecraft:open_eyeblossom" }
func (ClosedEyeblossom) ID() string { return "minecraft:closed_eyeblossom" }
func (PottedOpenEyeblossom) ID() string { return "minecraft:potted_open_eyeblossom" }
func (PottedClosedEyeblossom) ID() string { return "minecraft:potted_closed_eyeblossom" }
func (FireflyBush) ID() string { return "minecraft:firefly_bush" }
var FromID = map[string]Block{
"minecraft:air": Air{},
@ -4553,6 +4754,8 @@ var FromID = map[string]Block{
"minecraft:acacia_planks": AcaciaPlanks{},
"minecraft:cherry_planks": CherryPlanks{},
"minecraft:dark_oak_planks": DarkOakPlanks{},
"minecraft:pale_oak_wood": PaleOakWood{},
"minecraft:pale_oak_planks": PaleOakPlanks{},
"minecraft:mangrove_planks": MangrovePlanks{},
"minecraft:bamboo_planks": BambooPlanks{},
"minecraft:bamboo_mosaic": BambooMosaic{},
@ -4563,6 +4766,7 @@ var FromID = map[string]Block{
"minecraft:acacia_sapling": AcaciaSapling{},
"minecraft:cherry_sapling": CherrySapling{},
"minecraft:dark_oak_sapling": DarkOakSapling{},
"minecraft:pale_oak_sapling": PaleOakSapling{},
"minecraft:mangrove_propagule": MangrovePropagule{},
"minecraft:bedrock": Bedrock{},
"minecraft:water": Water{},
@ -4586,6 +4790,7 @@ var FromID = map[string]Block{
"minecraft:acacia_log": AcaciaLog{},
"minecraft:cherry_log": CherryLog{},
"minecraft:dark_oak_log": DarkOakLog{},
"minecraft:pale_oak_log": PaleOakLog{},
"minecraft:mangrove_log": MangroveLog{},
"minecraft:mangrove_roots": MangroveRoots{},
"minecraft:muddy_mangrove_roots": MuddyMangroveRoots{},
@ -4596,6 +4801,7 @@ var FromID = map[string]Block{
"minecraft:stripped_acacia_log": StrippedAcaciaLog{},
"minecraft:stripped_cherry_log": StrippedCherryLog{},
"minecraft:stripped_dark_oak_log": StrippedDarkOakLog{},
"minecraft:stripped_pale_oak_log": StrippedPaleOakLog{},
"minecraft:stripped_oak_log": StrippedOakLog{},
"minecraft:stripped_mangrove_log": StrippedMangroveLog{},
"minecraft:stripped_bamboo_block": StrippedBambooBlock{},
@ -4614,6 +4820,7 @@ var FromID = map[string]Block{
"minecraft:stripped_acacia_wood": StrippedAcaciaWood{},
"minecraft:stripped_cherry_wood": StrippedCherryWood{},
"minecraft:stripped_dark_oak_wood": StrippedDarkOakWood{},
"minecraft:stripped_pale_oak_wood": StrippedPaleOakWood{},
"minecraft:stripped_mangrove_wood": StrippedMangroveWood{},
"minecraft:oak_leaves": OakLeaves{},
"minecraft:spruce_leaves": SpruceLeaves{},
@ -4622,6 +4829,7 @@ var FromID = map[string]Block{
"minecraft:acacia_leaves": AcaciaLeaves{},
"minecraft:cherry_leaves": CherryLeaves{},
"minecraft:dark_oak_leaves": DarkOakLeaves{},
"minecraft:pale_oak_leaves": PaleOakLeaves{},
"minecraft:mangrove_leaves": MangroveLeaves{},
"minecraft:azalea_leaves": AzaleaLeaves{},
"minecraft:flowering_azalea_leaves": FloweringAzaleaLeaves{},
@ -4659,6 +4867,9 @@ var FromID = map[string]Block{
"minecraft:short_grass": ShortGrass{},
"minecraft:fern": Fern{},
"minecraft:dead_bush": DeadBush{},
"minecraft:bush": Bush{},
"minecraft:short_dry_grass": ShortDryGrass{},
"minecraft:tall_dry_grass": TallDryGrass{},
"minecraft:seagrass": Seagrass{},
"minecraft:tall_seagrass": TallSeagrass{},
"minecraft:piston": Piston{},
@ -4709,6 +4920,7 @@ var FromID = map[string]Block{
"minecraft:fire": Fire{},
"minecraft:soul_fire": SoulFire{},
"minecraft:spawner": Spawner{},
"minecraft:creaking_heart": CreakingHeart{},
"minecraft:oak_stairs": OakStairs{},
"minecraft:chest": Chest{},
"minecraft:redstone_wire": RedstoneWire{},
@ -4726,6 +4938,7 @@ var FromID = map[string]Block{
"minecraft:cherry_sign": CherrySign{},
"minecraft:jungle_sign": JungleSign{},
"minecraft:dark_oak_sign": DarkOakSign{},
"minecraft:pale_oak_sign": PaleOakSign{},
"minecraft:mangrove_sign": MangroveSign{},
"minecraft:bamboo_sign": BambooSign{},
"minecraft:oak_door": OakDoor{},
@ -4739,6 +4952,7 @@ var FromID = map[string]Block{
"minecraft:cherry_wall_sign": CherryWallSign{},
"minecraft:jungle_wall_sign": JungleWallSign{},
"minecraft:dark_oak_wall_sign": DarkOakWallSign{},
"minecraft:pale_oak_wall_sign": PaleOakWallSign{},
"minecraft:mangrove_wall_sign": MangroveWallSign{},
"minecraft:bamboo_wall_sign": BambooWallSign{},
"minecraft:oak_hanging_sign": OakHangingSign{},
@ -4748,6 +4962,7 @@ var FromID = map[string]Block{
"minecraft:cherry_hanging_sign": CherryHangingSign{},
"minecraft:jungle_hanging_sign": JungleHangingSign{},
"minecraft:dark_oak_hanging_sign": DarkOakHangingSign{},
"minecraft:pale_oak_hanging_sign": PaleOakHangingSign{},
"minecraft:crimson_hanging_sign": CrimsonHangingSign{},
"minecraft:warped_hanging_sign": WarpedHangingSign{},
"minecraft:mangrove_hanging_sign": MangroveHangingSign{},
@ -4759,6 +4974,7 @@ var FromID = map[string]Block{
"minecraft:cherry_wall_hanging_sign": CherryWallHangingSign{},
"minecraft:jungle_wall_hanging_sign": JungleWallHangingSign{},
"minecraft:dark_oak_wall_hanging_sign": DarkOakWallHangingSign{},
"minecraft:pale_oak_wall_hanging_sign": PaleOakWallHangingSign{},
"minecraft:mangrove_wall_hanging_sign": MangroveWallHangingSign{},
"minecraft:crimson_wall_hanging_sign": CrimsonWallHangingSign{},
"minecraft:warped_wall_hanging_sign": WarpedWallHangingSign{},
@ -4773,6 +4989,7 @@ var FromID = map[string]Block{
"minecraft:acacia_pressure_plate": AcaciaPressurePlate{},
"minecraft:cherry_pressure_plate": CherryPressurePlate{},
"minecraft:dark_oak_pressure_plate": DarkOakPressurePlate{},
"minecraft:pale_oak_pressure_plate": PaleOakPressurePlate{},
"minecraft:mangrove_pressure_plate": MangrovePressurePlate{},
"minecraft:bamboo_pressure_plate": BambooPressurePlate{},
"minecraft:redstone_ore": RedstoneOre{},
@ -4784,6 +5001,7 @@ var FromID = map[string]Block{
"minecraft:ice": Ice{},
"minecraft:snow_block": SnowBlock{},
"minecraft:cactus": Cactus{},
"minecraft:cactus_flower": CactusFlower{},
"minecraft:clay": Clay{},
"minecraft:sugar_cane": SugarCane{},
"minecraft:jukebox": Jukebox{},
@ -4824,6 +5042,7 @@ var FromID = map[string]Block{
"minecraft:acacia_trapdoor": AcaciaTrapdoor{},
"minecraft:cherry_trapdoor": CherryTrapdoor{},
"minecraft:dark_oak_trapdoor": DarkOakTrapdoor{},
"minecraft:pale_oak_trapdoor": PaleOakTrapdoor{},
"minecraft:mangrove_trapdoor": MangroveTrapdoor{},
"minecraft:bamboo_trapdoor": BambooTrapdoor{},
"minecraft:stone_bricks": StoneBricks{},
@ -4852,12 +5071,19 @@ var FromID = map[string]Block{
"minecraft:melon_stem": MelonStem{},
"minecraft:vine": Vine{},
"minecraft:glow_lichen": GlowLichen{},
"minecraft:resin_clump": ResinClump{},
"minecraft:oak_fence_gate": OakFenceGate{},
"minecraft:brick_stairs": BrickStairs{},
"minecraft:stone_brick_stairs": StoneBrickStairs{},
"minecraft:mud_brick_stairs": MudBrickStairs{},
"minecraft:mycelium": Mycelium{},
"minecraft:lily_pad": LilyPad{},
"minecraft:resin_block": ResinBlock{},
"minecraft:resin_bricks": ResinBricks{},
"minecraft:resin_brick_stairs": ResinBrickStairs{},
"minecraft:resin_brick_slab": ResinBrickSlab{},
"minecraft:resin_brick_wall": ResinBrickWall{},
"minecraft:chiseled_resin_bricks": ChiseledResinBricks{},
"minecraft:nether_bricks": NetherBricks{},
"minecraft:nether_brick_fence": NetherBrickFence{},
"minecraft:nether_brick_stairs": NetherBrickStairs{},
@ -4897,6 +5123,7 @@ var FromID = map[string]Block{
"minecraft:potted_acacia_sapling": PottedAcaciaSapling{},
"minecraft:potted_cherry_sapling": PottedCherrySapling{},
"minecraft:potted_dark_oak_sapling": PottedDarkOakSapling{},
"minecraft:potted_pale_oak_sapling": PottedPaleOakSapling{},
"minecraft:potted_mangrove_propagule": PottedMangrovePropagule{},
"minecraft:potted_fern": PottedFern{},
"minecraft:potted_dandelion": PottedDandelion{},
@ -4925,6 +5152,7 @@ var FromID = map[string]Block{
"minecraft:acacia_button": AcaciaButton{},
"minecraft:cherry_button": CherryButton{},
"minecraft:dark_oak_button": DarkOakButton{},
"minecraft:pale_oak_button": PaleOakButton{},
"minecraft:mangrove_button": MangroveButton{},
"minecraft:bamboo_button": BambooButton{},
"minecraft:skeleton_skull": SkeletonSkull{},
@ -4993,6 +5221,7 @@ var FromID = map[string]Block{
"minecraft:acacia_stairs": AcaciaStairs{},
"minecraft:cherry_stairs": CherryStairs{},
"minecraft:dark_oak_stairs": DarkOakStairs{},
"minecraft:pale_oak_stairs": PaleOakStairs{},
"minecraft:mangrove_stairs": MangroveStairs{},
"minecraft:bamboo_stairs": BambooStairs{},
"minecraft:bamboo_mosaic_stairs": BambooMosaicStairs{},
@ -5079,6 +5308,7 @@ var FromID = map[string]Block{
"minecraft:acacia_slab": AcaciaSlab{},
"minecraft:cherry_slab": CherrySlab{},
"minecraft:dark_oak_slab": DarkOakSlab{},
"minecraft:pale_oak_slab": PaleOakSlab{},
"minecraft:mangrove_slab": MangroveSlab{},
"minecraft:bamboo_slab": BambooSlab{},
"minecraft:bamboo_mosaic_slab": BambooMosaicSlab{},
@ -5106,6 +5336,7 @@ var FromID = map[string]Block{
"minecraft:acacia_fence_gate": AcaciaFenceGate{},
"minecraft:cherry_fence_gate": CherryFenceGate{},
"minecraft:dark_oak_fence_gate": DarkOakFenceGate{},
"minecraft:pale_oak_fence_gate": PaleOakFenceGate{},
"minecraft:mangrove_fence_gate": MangroveFenceGate{},
"minecraft:bamboo_fence_gate": BambooFenceGate{},
"minecraft:spruce_fence": SpruceFence{},
@ -5114,6 +5345,7 @@ var FromID = map[string]Block{
"minecraft:acacia_fence": AcaciaFence{},
"minecraft:cherry_fence": CherryFence{},
"minecraft:dark_oak_fence": DarkOakFence{},
"minecraft:pale_oak_fence": PaleOakFence{},
"minecraft:mangrove_fence": MangroveFence{},
"minecraft:bamboo_fence": BambooFence{},
"minecraft:spruce_door": SpruceDoor{},
@ -5122,6 +5354,7 @@ var FromID = map[string]Block{
"minecraft:acacia_door": AcaciaDoor{},
"minecraft:cherry_door": CherryDoor{},
"minecraft:dark_oak_door": DarkOakDoor{},
"minecraft:pale_oak_door": PaleOakDoor{},
"minecraft:mangrove_door": MangroveDoor{},
"minecraft:bamboo_door": BambooDoor{},
"minecraft:end_rod": EndRod{},
@ -5216,6 +5449,7 @@ var FromID = map[string]Block{
"minecraft:dried_kelp_block": DriedKelpBlock{},
"minecraft:turtle_egg": TurtleEgg{},
"minecraft:sniffer_egg": SnifferEgg{},
"minecraft:dried_ghast": DriedGhast{},
"minecraft:dead_tube_coral_block": DeadTubeCoralBlock{},
"minecraft:dead_brain_coral_block": DeadBrainCoralBlock{},
"minecraft:dead_bubble_coral_block": DeadBubbleCoralBlock{},
@ -5367,6 +5601,8 @@ var FromID = map[string]Block{
"minecraft:warped_wall_sign": WarpedWallSign{},
"minecraft:structure_block": StructureBlock{},
"minecraft:jigsaw": Jigsaw{},
"minecraft:test_block": TestBlock{},
"minecraft:test_instance_block": TestInstanceBlock{},
"minecraft:composter": Composter{},
"minecraft:target": Target{},
"minecraft:bee_nest": BeeNest{},
@ -5549,6 +5785,8 @@ var FromID = map[string]Block{
"minecraft:flowering_azalea": FloweringAzalea{},
"minecraft:moss_carpet": MossCarpet{},
"minecraft:pink_petals": PinkPetals{},
"minecraft:wildflowers": Wildflowers{},
"minecraft:leaf_litter": LeafLitter{},
"minecraft:moss_block": MossBlock{},
"minecraft:big_dripleaf": BigDripleaf{},
"minecraft:big_dripleaf_stem": BigDripleafStem{},
@ -5593,4 +5831,12 @@ var FromID = map[string]Block{
"minecraft:trial_spawner": TrialSpawner{},
"minecraft:vault": Vault{},
"minecraft:heavy_core": HeavyCore{},
"minecraft:pale_moss_block": PaleMossBlock{},
"minecraft:pale_moss_carpet": PaleMossCarpet{},
"minecraft:pale_hanging_moss": PaleHangingMoss{},
"minecraft:open_eyeblossom": OpenEyeblossom{},
"minecraft:closed_eyeblossom": ClosedEyeblossom{},
"minecraft:potted_open_eyeblossom": PottedOpenEyeblossom{},
"minecraft:potted_closed_eyeblossom": PottedClosedEyeblossom{},
"minecraft:firefly_bush": FireflyBush{},
}

Binary file not shown.

View File

@ -58,6 +58,12 @@ var EnumProperties = []EnumProperty{
{Name: "TrialSpawnerState", Values: []string{
"inactive", "waiting_for_players", "active", "waiting_for_reward_ejection", "ejecting_reward", "cooldown",
}},
{Name: "TestBlockMode", Values: []string{
"start", "log", "fail", "accept",
}},
{Name: "CreakingHeartState", Values: []string{
"uprooted", "dormant", "awake",
}},
}
//go:embed properties_enum.go.tmpl

View File

@ -1088,3 +1088,82 @@ func (t *TrialSpawnerState) UnmarshalText(text []byte) error {
}
return nil
}
type TestBlockMode byte
const (
TestBlockModeStart TestBlockMode = iota
TestBlockModeLog
TestBlockModeFail
TestBlockModeAccept
)
var strTestBlockMode = [...]string{"start", "log", "fail", "accept"}
func (t TestBlockMode) String() string {
if int(t) < len(strTestBlockMode) {
return strTestBlockMode[t]
}
return "invalid TestBlockMode"
}
func (t TestBlockMode) MarshalText() (text []byte, err error) {
if int(t) < len(strTestBlockMode) {
return []byte(strTestBlockMode[t]), nil
}
return nil, errors.New("invalid TestBlockMode: " + strconv.Itoa(int(t)))
}
func (t *TestBlockMode) UnmarshalText(text []byte) error {
switch str := string(text); str {
case "start":
*t = TestBlockModeStart
case "log":
*t = TestBlockModeLog
case "fail":
*t = TestBlockModeFail
case "accept":
*t = TestBlockModeAccept
default:
return errors.New("unknown TestBlockMode: " + str)
}
return nil
}
type CreakingHeartState byte
const (
CreakingHeartStateUprooted CreakingHeartState = iota
CreakingHeartStateDormant
CreakingHeartStateAwake
)
var strCreakingHeartState = [...]string{"uprooted", "dormant", "awake"}
func (c CreakingHeartState) String() string {
if int(c) < len(strCreakingHeartState) {
return strCreakingHeartState[c]
}
return "invalid CreakingHeartState"
}
func (c CreakingHeartState) MarshalText() (text []byte, err error) {
if int(c) < len(strCreakingHeartState) {
return []byte(strCreakingHeartState[c]), nil
}
return nil, errors.New("invalid CreakingHeartState: " + strconv.Itoa(int(c)))
}
func (c *CreakingHeartState) UnmarshalText(text []byte) error {
switch str := string(text); str {
case "uprooted":
*c = CreakingHeartStateUprooted
case "dormant":
*c = CreakingHeartStateDormant
case "awake":
*c = CreakingHeartStateAwake
default:
return errors.New("unknown CreakingHeartState: " + str)
}
return nil
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*AttributeModifiers)(nil)
type AttributeModifiers struct{}
// ID implements DataComponent.
func (AttributeModifiers) ID() string {
return "minecraft:attribute_modifiers"
}
// ReadFrom implements DataComponent.
func (a *AttributeModifiers) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (a *AttributeModifiers) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/nbt/dynbt"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*BlockEntityData)(nil)
type BlockEntityData struct {
dynbt.Value
}
// ID implements DataComponent.
func (BlockEntityData) ID() string {
return "minecraft:block_entity_data"
}
// ReadFrom implements DataComponent.
func (b *BlockEntityData) ReadFrom(r io.Reader) (n int64, err error) {
return pk.NBT(&b.Value).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (b *BlockEntityData) WriteTo(w io.Writer) (n int64, err error) {
return pk.NBT(&b.Value).WriteTo(w)
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/nbt/dynbt"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*BucketEntityData)(nil)
type BucketEntityData struct {
dynbt.Value
}
// ID implements DataComponent.
func (BucketEntityData) ID() string {
return "minecraft:bucket_entity_data"
}
// ReadFrom implements DataComponent.
func (b *BucketEntityData) ReadFrom(r io.Reader) (n int64, err error) {
return pk.NBT(&b.Value).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (b *BucketEntityData) WriteTo(w io.Writer) (n int64, err error) {
return pk.NBT(&b.Value).WriteTo(w)
}

View File

@ -1,24 +0,0 @@
package component
import "io"
var _ DataComponent = (*BundleContents)(nil)
type BundleContents struct {
// TODO
}
// ID implements DataComponent.
func (BundleContents) ID() string {
return "minecraft:bundle_contents"
}
// ReadFrom implements DataComponent.
func (b *BundleContents) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (b *BundleContents) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*CanBreak)(nil)
type CanBreak struct{}
// ID implements DataComponent.
func (CanBreak) ID() string {
return "minecraft:can_break"
}
// ReadFrom implements DataComponent.
func (c *CanBreak) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (c *CanBreak) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*CanPlaceOn)(nil)
type CanPlaceOn struct{}
// ID implements DataComponent.
func (CanPlaceOn) ID() string {
return "minecraft:can_place_on"
}
// ReadFrom implements DataComponent.
func (c *CanPlaceOn) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (c *CanPlaceOn) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,24 +0,0 @@
package component
import "io"
var _ DataComponent = (*ChargedProjectiles)(nil)
type ChargedProjectiles struct {
// TODO
}
// ID implements DataComponent.
func (ChargedProjectiles) ID() string {
return "minecraft:charged_projectiles"
}
// ReadFrom implements DataComponent.
func (c *ChargedProjectiles) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (c *ChargedProjectiles) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,115 +0,0 @@
package component
import pk "github.com/Tnze/go-mc/net/packet"
type DataComponent interface {
pk.Field
ID() string
}
func NewComponent(id int32) DataComponent {
switch id {
case 0:
return new(CustomData)
case 1:
return new(MaxStackSize)
case 2:
return new(MaxDamage)
case 3:
return new(Damage)
case 4:
return new(Unbreakable)
case 5:
return new(CustomName)
case 6:
return new(ItemName)
case 7:
return new(Lore)
case 8:
return new(Rarity)
case 9:
return new(Enchantments)
case 10:
return new(CanPlaceOn)
case 11:
return new(CanBreak)
case 12:
return new(AttributeModifiers)
case 13:
return new(CustomModelData)
case 14:
return new(HideAdditionalTooptip)
case 15:
return new(HideTooptip)
case 16:
return new(RepairCost)
case 17:
return new(CreativeSlotLock)
case 18:
return new(EnchantmentGlintOverride)
case 19:
return new(IntangibleProjectile)
case 20:
return new(Food)
case 21:
return new(FireResistant)
case 22:
return new(Tool)
case 23:
return new(StoredEnchantments)
case 24:
return new(DyedColor)
case 25:
return new(MapColor)
case 26:
return new(MapID)
case 27:
return new(MapDecorations)
case 28:
return new(MapPostProcessing)
case 29:
return new(ChargedProjectiles)
case 30:
return new(BundleContents)
case 31:
return new(PotionContents)
case 32:
return new(SuspiciousStewEffects)
case 33:
return new(WritableBookContent)
case 34:
case 35:
return new(Trim)
case 36:
return new(DebugStickState)
case 37:
return new(EntityData)
case 38:
return new(BucketEntityData)
case 39:
return new(BlockEntityData)
case 40:
return new(Instrument)
case 41:
return new(OminousBottleAmplifier)
case 42:
return new(JukeboxPlayable)
case 43:
return new(Recipes)
case 44:
return new(LodestoneTracker)
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
}
return nil
}

View File

@ -1,10 +0,0 @@
package component_test
// func TestNewComponent(t *testing.T) {
// for i, want := range registryid.DataComponentType {
// comp := component.NewComponent(int32(i))
// if got := comp.ID(); got != want {
// t.Errorf("DataComponent type mismatched: %s != %s", got, want)
// }
// }
// }

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*CreativeSlotLock)(nil)
type CreativeSlotLock struct{}
// ID implements DataComponent.
func (c *CreativeSlotLock) ID() string {
return "minecraft:creative_slot_lock"
}
// ReadFrom implements DataComponent.
func (c *CreativeSlotLock) ReadFrom(r io.Reader) (n int64, err error) {
return 0, nil
}
// WriteTo implements DataComponent.
func (c *CreativeSlotLock) WriteTo(w io.Writer) (n int64, err error) {
return 0, nil
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/nbt/dynbt"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*CustomData)(nil)
type CustomData struct {
dynbt.Value
}
// ID implements DataComponent.
func (CustomData) ID() string {
return "minecraft:custom_data"
}
// ReadFrom implements DataComponent.
func (c *CustomData) ReadFrom(r io.Reader) (n int64, err error) {
return pk.NBT(c).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (c *CustomData) WriteTo(w io.Writer) (n int64, err error) {
return pk.NBT(c).WriteTo(w)
}

View File

@ -1,28 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*CustomModelData)(nil)
type CustomModelData struct {
Value pk.VarInt
}
// ID implements DataComponent.
func (CustomModelData) ID() string {
return "minecraft:custom_model_data"
}
// ReadFrom implements DataComponent.
func (c *CustomModelData) ReadFrom(r io.Reader) (n int64, err error) {
return c.Value.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (c *CustomModelData) WriteTo(w io.Writer) (n int64, err error) {
return c.Value.WriteTo(w)
}

View File

@ -1,28 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/chat"
)
var _ DataComponent = (*CustomName)(nil)
type CustomName struct {
Name chat.Message
}
// ID implements DataComponent.
func (CustomName) ID() string {
return "minecraft:custom_name"
}
// ReadFrom implements DataComponent.
func (c *CustomName) ReadFrom(r io.Reader) (n int64, err error) {
return c.Name.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (c *CustomName) WriteTo(w io.Writer) (n int64, err error) {
return c.Name.WriteTo(w)
}

View File

@ -1,14 +0,0 @@
package component
import pk "github.com/Tnze/go-mc/net/packet"
var _ DataComponent = (*Damage)(nil)
type Damage struct {
pk.VarInt
}
// ID implements DataComponent.
func (Damage) ID() string {
return "minecraft:damage"
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/level/block"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*DebugStickState)(nil)
type DebugStickState struct {
Data block.State
}
// ID implements DataComponent.
func (DebugStickState) ID() string {
return "minecraft:debug_stick_state"
}
// ReadFrom implements DataComponent.
func (d *DebugStickState) ReadFrom(r io.Reader) (n int64, err error) {
return pk.NBT(&d.Data).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (d *DebugStickState) WriteTo(w io.Writer) (n int64, err error) {
return pk.NBT(&d.Data).WriteTo(w)
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*DyedColor)(nil)
type DyedColor struct {
RGB pk.Int
ShowInTooltip pk.Boolean
}
// ID implements DataComponent.
func (DyedColor) ID() string {
return "minecraft:dyed_color"
}
// ReadFrom implements DataComponent.
func (d *DyedColor) ReadFrom(r io.Reader) (n int64, err error) {
return pk.Tuple{&d.RGB, &d.ShowInTooltip}.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (d *DyedColor) WriteTo(w io.Writer) (n int64, err error) {
return pk.Tuple{&d.RGB, &d.ShowInTooltip}.WriteTo(w)
}

View File

@ -1,28 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*EnchantmentGlintOverride)(nil)
type EnchantmentGlintOverride struct {
HasGlint pk.Boolean
}
// ID implements DataComponent.
func (EnchantmentGlintOverride) ID() string {
return "minecraft:enchantment_glint_override"
}
// ReadFrom implements DataComponent.
func (e *EnchantmentGlintOverride) ReadFrom(r io.Reader) (n int64, err error) {
return e.HasGlint.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (e *EnchantmentGlintOverride) WriteTo(w io.Writer) (n int64, err error) {
return e.HasGlint.WriteTo(w)
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*Enchantments)(nil)
type Enchantments struct{}
// ID implements DataComponent.
func (Enchantments) ID() string {
return "minecraft:enchantments"
}
// ReadFrom implements DataComponent.
func (r *Enchantments) ReadFrom(reader io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (r *Enchantments) WriteTo(writer io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/nbt/dynbt"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*EntityData)(nil)
type EntityData struct {
dynbt.Value
}
// ID implements DataComponent.
func (EntityData) ID() string {
return "minecraft:entity_data"
}
// ReadFrom implements DataComponent.
func (e *EntityData) ReadFrom(r io.Reader) (n int64, err error) {
return pk.NBT(&e.Value).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (e *EntityData) WriteTo(w io.Writer) (n int64, err error) {
return pk.NBT(&e.Value).WriteTo(w)
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*FireResistant)(nil)
type FireResistant struct{}
// ID implements DataComponent.
func (FireResistant) ID() string {
return "minecraft:fire_resistant"
}
// ReadFrom implements DataComponent.
func (f *FireResistant) ReadFrom(r io.Reader) (n int64, err error) {
return 0, nil
}
// WriteTo implements DataComponent.
func (f *FireResistant) WriteTo(w io.Writer) (n int64, err error) {
return 0, nil
}

View File

@ -1,47 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*Food)(nil)
type Food struct {
Nutrition pk.VarInt
Saturation pk.Float
CanAlwaysEat pk.Boolean
EatSeconds pk.Float
// TODO: using_converts_to
// TODO: effects
}
// ID implements DataComponent.
func (Food) ID() string {
return "minecraft:food"
}
// ReadFrom implements DataComponent.
func (f *Food) ReadFrom(r io.Reader) (n int64, err error) {
pk.Tuple{
&f.Nutrition,
&f.Saturation,
&f.CanAlwaysEat,
&f.EatSeconds,
// TODO
}.ReadFrom(r)
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (f *Food) WriteTo(w io.Writer) (n int64, err error) {
pk.Tuple{
&f.Nutrition,
&f.Saturation,
&f.CanAlwaysEat,
&f.EatSeconds,
// TODO
}.WriteTo(w)
panic("unimplemented")
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*HideAdditionalTooptip)(nil)
type HideAdditionalTooptip struct{}
// ID implements DataComponent.
func (HideAdditionalTooptip) ID() string {
return "minecraft:hide_additional_tooltip"
}
// ReadFrom implements DataComponent.
func (h *HideAdditionalTooptip) ReadFrom(r io.Reader) (n int64, err error) {
return 0, nil
}
// WriteTo implements DataComponent.
func (h *HideAdditionalTooptip) WriteTo(w io.Writer) (n int64, err error) {
return 0, nil
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*HideTooptip)(nil)
type HideTooptip struct{}
// ID implements DataComponent.
func (HideTooptip) ID() string {
return "minecraft:hide_tooltip"
}
// ReadFrom implements DataComponent.
func (h *HideTooptip) ReadFrom(r io.Reader) (n int64, err error) {
return 0, nil
}
// WriteTo implements DataComponent.
func (h *HideTooptip) WriteTo(w io.Writer) (n int64, err error) {
return 0, nil
}

View File

@ -1,85 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*Instrument)(nil)
// TODO
type Instrument struct {
Type pk.VarInt
SoundEvent SoundEvent
UseDuration pk.Float
Range pk.Float
}
// ID implements DataComponent.
func (Instrument) ID() string {
return "minecraft:instrument"
}
// ReadFrom implements DataComponent.
func (i *Instrument) ReadFrom(r io.Reader) (n int64, err error) {
return pk.Tuple{
&i.Type,
pk.Opt{
Has: func() bool { return i.Type == 0 },
Field: pk.Tuple{
&i.SoundEvent,
&i.UseDuration,
&i.Range,
},
},
}.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (i *Instrument) WriteTo(w io.Writer) (n int64, err error) {
return pk.Tuple{
&i.Type,
pk.Opt{
Has: func() bool { return i.Type == 0 },
Field: pk.Tuple{
&i.SoundEvent,
&i.UseDuration,
&i.Range,
},
},
}.WriteTo(w)
}
// TODO
type SoundEvent struct {
Type pk.VarInt
SoundName pk.Identifier
FixedRange pk.Option[pk.Float, *pk.Float]
}
func (s *SoundEvent) ReadFrom(r io.Reader) (int64, error) {
return pk.Tuple{
&s.Type,
pk.Opt{
Has: func() bool { return s.Type == 0 },
Field: pk.Tuple{
&s.SoundName,
&s.FixedRange,
},
},
}.ReadFrom(r)
}
func (s SoundEvent) WriteTo(w io.Writer) (int64, error) {
return pk.Tuple{
&s.Type,
pk.Opt{
Has: func() bool { return s.Type == 0 },
Field: pk.Tuple{
&s.SoundName,
&s.FixedRange,
},
},
}.WriteTo(w)
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*IntangibleProjectile)(nil)
type IntangibleProjectile struct{}
// ID implements DataComponent.
func (IntangibleProjectile) ID() string {
return "minecraft:intangible_projectile"
}
// ReadFrom implements DataComponent.
func (i *IntangibleProjectile) ReadFrom(r io.Reader) (n int64, err error) {
return 0, nil
}
// WriteTo implements DataComponent.
func (i *IntangibleProjectile) WriteTo(w io.Writer) (n int64, err error) {
return 0, nil
}

View File

@ -1,28 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/chat"
)
var _ DataComponent = (*ItemName)(nil)
type ItemName struct {
Name chat.Message
}
// ID implements DataComponent.
func (ItemName) ID() string {
return "minecraft:item_name"
}
// ReadFrom implements DataComponent.
func (i *ItemName) ReadFrom(r io.Reader) (n int64, err error) {
return i.Name.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (i *ItemName) WriteTo(w io.Writer) (n int64, err error) {
return i.Name.WriteTo(w)
}

View File

@ -1,26 +0,0 @@
package component
import (
"io"
)
var _ DataComponent = (*JukeboxPlayable)(nil)
type JukeboxPlayable struct {
// TODO
}
// ID implements DataComponent.
func (JukeboxPlayable) ID() string {
return "minecraft:jukebox_playable"
}
// ReadFrom implements DataComponent.
func (j *JukeboxPlayable) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (j *JukeboxPlayable) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,41 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*LodestoneTracker)(nil)
type LodestoneTracker struct {
HasGlobalPosition pk.Boolean
Dimension pk.Identifier
Position pk.Position
Tracked pk.Boolean
}
// ID implements DataComponent.
func (LodestoneTracker) ID() string {
return "minecraft:lodestone_tracker"
}
// ReadFrom implements DataComponent.
func (l *LodestoneTracker) ReadFrom(r io.Reader) (n int64, err error) {
return pk.Tuple{
&l.HasGlobalPosition,
&l.Dimension,
&l.Position,
&l.Tracked,
}.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (l *LodestoneTracker) WriteTo(w io.Writer) (n int64, err error) {
return pk.Tuple{
&l.HasGlobalPosition,
&l.Dimension,
&l.Position,
&l.Tracked,
}.WriteTo(w)
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/chat"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*Lore)(nil)
type Lore struct {
Lines []chat.Message
}
// ID implements DataComponent.
func (Lore) ID() string {
return "minecraft:lore"
}
// ReadFrom implements DataComponent.
func (l *Lore) ReadFrom(r io.Reader) (n int64, err error) {
return pk.Array(&l.Lines).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (l *Lore) WriteTo(w io.Writer) (n int64, err error) {
return pk.Array(&l.Lines).WriteTo(w)
}

View File

@ -1,15 +0,0 @@
package component
import pk "github.com/Tnze/go-mc/net/packet"
var _ DataComponent = (*MapColor)(nil)
type MapColor struct {
// The RGB components of the color, encoded as an integer.
pk.Int
}
// ID implements DataComponent.
func (MapColor) ID() string {
return "minecraft:map_color"
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/nbt/dynbt"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*MapDecorations)(nil)
type MapDecorations struct {
dynbt.Value
}
// ID implements DataComponent.
func (MapDecorations) ID() string {
return "minecraft:map_decorations"
}
// ReadFrom implements DataComponent.
func (m *MapDecorations) ReadFrom(r io.Reader) (n int64, err error) {
return pk.NBT(&m.Value).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (m *MapDecorations) WriteTo(w io.Writer) (n int64, err error) {
return pk.NBT(&m.Value).WriteTo(w)
}

View File

@ -1,14 +0,0 @@
package component
import pk "github.com/Tnze/go-mc/net/packet"
var _ DataComponent = (*MapID)(nil)
type MapID struct {
pk.VarInt
}
// ID implements DataComponent.
func (MapID) ID() string {
return "minecraft:map_id"
}

View File

@ -1,31 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*MapPostProcessing)(nil)
type MapPostProcessing int32
const (
Lock MapPostProcessing = iota
Scale
)
// ID implements DataComponent.
func (MapPostProcessing) ID() string {
return "minecraft:map_post_processing"
}
// ReadFrom implements DataComponent.
func (m *MapPostProcessing) ReadFrom(r io.Reader) (n int64, err error) {
return (*pk.VarInt)(m).ReadFrom(r)
}
// WriteTo implements DataComponent.
func (m *MapPostProcessing) WriteTo(w io.Writer) (n int64, err error) {
return (*pk.VarInt)(m).WriteTo(w)
}

View File

@ -1,14 +0,0 @@
package component
import pk "github.com/Tnze/go-mc/net/packet"
var _ DataComponent = (*MaxDamage)(nil)
type MaxDamage struct {
pk.VarInt
}
// ID implements DataComponent.
func (MaxDamage) ID() string {
return "minecraft:max_damage"
}

View File

@ -1,14 +0,0 @@
package component
import pk "github.com/Tnze/go-mc/net/packet"
var _ DataComponent = (*MaxStackSize)(nil)
type MaxStackSize struct {
pk.VarInt
}
// ID implements DataComponent.
func (MaxStackSize) ID() string {
return "minecraft:max_stack_size"
}

View File

@ -1,16 +0,0 @@
package component
import (
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*OminousBottleAmplifier)(nil)
type OminousBottleAmplifier struct {
pk.VarInt
}
// ID implements DataComponent.
func (OminousBottleAmplifier) ID() string {
return "minecraft:ominous_bottle_amplifier"
}

View File

@ -1,30 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*PotionContents)(nil)
type PotionContents struct {
PotionID pk.Option[pk.VarInt, *pk.VarInt]
CustomColor pk.Option[pk.Int, *pk.Int]
PotionEffects []any
}
// ID implements DataComponent.
func (PotionContents) ID() string {
return "minecraft:potion_contents"
}
// ReadFrom implements DataComponent.
func (p *PotionContents) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (p *PotionContents) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,33 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*Rarity)(nil)
type Rarity int32
const (
Common Rarity = iota
Uncommon
Rare
Epic
)
// ID implements DataComponent.
func (Rarity) ID() string {
return "minecraft:rarity"
}
// ReadFrom implements DataComponent.
func (r *Rarity) ReadFrom(reader io.Reader) (n int64, err error) {
return (*pk.VarInt)(r).ReadFrom(reader)
}
// WriteTo implements DataComponent.
func (r *Rarity) WriteTo(writer io.Writer) (n int64, err error) {
return (*pk.VarInt)(r).WriteTo(writer)
}

View File

@ -1,29 +0,0 @@
package component
import (
"io"
"github.com/Tnze/go-mc/nbt/dynbt"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*Recipes)(nil)
type Recipes struct {
Data dynbt.Value
}
// ID implements DataComponent.
func (Recipes) ID() string {
return "minecraft:recipes"
}
// ReadFrom implements DataComponent.
func (r *Recipes) ReadFrom(reader io.Reader) (n int64, err error) {
return pk.NBT(&r.Data).ReadFrom(reader)
}
// WriteTo implements DataComponent.
func (r *Recipes) WriteTo(writer io.Writer) (n int64, err error) {
return pk.NBT(&r.Data).WriteTo(writer)
}

View File

@ -1,14 +0,0 @@
package component
import pk "github.com/Tnze/go-mc/net/packet"
var _ DataComponent = (*RepairCost)(nil)
type RepairCost struct {
pk.VarInt
}
// ID implements DataComponent.
func (RepairCost) ID() string {
return "minecraft:repair_cost"
}

View File

@ -1,38 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*StoredEnchantments)(nil)
type StoredEnchantments struct {
Enchantments []struct {
Type pk.VarInt
Level pk.VarInt
}
ShowInTooltip pk.Boolean
}
// ID implements DataComponent.
func (StoredEnchantments) ID() string {
return "minecraft:stored_enchantments"
}
// ReadFrom implements DataComponent.
func (s *StoredEnchantments) ReadFrom(r io.Reader) (n int64, err error) {
return pk.Tuple{
pk.Array(&s.Enchantments),
&s.ShowInTooltip,
}.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (s *StoredEnchantments) WriteTo(w io.Writer) (n int64, err error) {
return pk.Tuple{
pk.Array(&s.Enchantments),
&s.ShowInTooltip,
}.WriteTo(w)
}

View File

@ -1,26 +0,0 @@
package component
import (
"io"
)
var _ DataComponent = (*SuspiciousStewEffects)(nil)
type SuspiciousStewEffects struct {
Effects []any
}
// ID implements DataComponent.
func (SuspiciousStewEffects) ID() string {
return "minecraft:suspicious_stew_effects"
}
// ReadFrom implements DataComponent.
func (s *SuspiciousStewEffects) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (s *SuspiciousStewEffects) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,22 +0,0 @@
package component
import "io"
var _ DataComponent = (*Tool)(nil)
type Tool struct{}
// ID implements DataComponent.
func (Tool) ID() string {
return "minecraft:tool"
}
// ReadFrom implements DataComponent.
func (t *Tool) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (t *Tool) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,23 +0,0 @@
package component
import "io"
var _ DataComponent = (*Trim)(nil)
type Trim struct {
}
// ID implements DataComponent.
func (Trim) ID() string {
return "minecraft:trim"
}
// ReadFrom implements DataComponent.
func (t *Trim) ReadFrom(r io.Reader) (n int64, err error) {
panic("unimplemented")
}
// WriteTo implements DataComponent.
func (t *Trim) WriteTo(w io.Writer) (n int64, err error) {
panic("unimplemented")
}

View File

@ -1,28 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*Unbreakable)(nil)
type Unbreakable struct {
ShowInTooltip pk.Boolean
}
// ID implements DataComponent.
func (Unbreakable) ID() string {
return "minecraft:unbreakable"
}
// ReadFrom implements DataComponent.
func (u *Unbreakable) ReadFrom(r io.Reader) (n int64, err error) {
return u.ShowInTooltip.ReadFrom(r)
}
// WriteTo implements DataComponent.
func (u *Unbreakable) WriteTo(w io.Writer) (n int64, err error) {
return u.ShowInTooltip.WriteTo(w)
}

View File

@ -1,33 +0,0 @@
package component
import (
"io"
pk "github.com/Tnze/go-mc/net/packet"
)
var _ DataComponent = (*WritableBookContent)(nil)
type WritableBookContent struct {
Pages []Page
}
// ID implements DataComponent.
func (w *WritableBookContent) ID() string {
return "minecraft:writable_book_content"
}
// ReadFrom implements DataComponent.
func (w *WritableBookContent) ReadFrom(reader io.Reader) (n int64, err error) {
return pk.Array(&w.Pages).ReadFrom(reader)
}
// WriteTo implements DataComponent.
func (w *WritableBookContent) WriteTo(writer io.Writer) (n int64, err error) {
return pk.Array(&w.Pages).WriteTo(writer)
}
type Page struct {
Raw pk.String
Filtered pk.Option[pk.String, *pk.String]
}

View File

@ -0,0 +1,33 @@
// Code generated by {{Generator}}; DO NOT EDIT.
package item
import (
"github.com/Tnze/go-mc/level/block"
)
type (
{{- range .}}
{{.Name | ToGoTypeName}} struct {}
{{- end}}
)
{{- range .}}
func ({{.Name | ToGoTypeName}}) ID() string { return {{.Name | printf "%q"}} }
{{- end}}
{{- range .}}
{{- if .Block}}
func ({{.Name | ToGoTypeName}}) Block() block.Block {
return block.FromID[{{.Block | printf "%q"}}]
}
{{- end}}
{{- end}}
var FromID = map[string]Item { {{- range .}}
{{.Name | printf "%q"}}: {{.Name | ToGoTypeName}}{},{{end}}
}
var ToID = map[ID]Item { {{- range .}}
{{.Id | printf "%d"}}: {{.Name | ToGoTypeName}}{},{{end}}
}

View File

@ -0,0 +1,78 @@
package main
import (
"bytes"
"compress/gzip"
_ "embed"
"go/format"
"log"
"os"
"text/template"
"github.com/Tnze/go-mc/internal/generateutils"
"github.com/Tnze/go-mc/nbt"
)
//go:embed items.go.tmpl
var tempSource string
var temp = template.Must(template.
New("item_template").
Funcs(template.FuncMap{
"UpperTheFirst": generateutils.UpperTheFirst,
"ToGoTypeName": generateutils.ToGoTypeName,
"Generator": func() string { return "generator/main.go" },
}).
Parse(tempSource),
)
type Item struct {
Name string
Id int
Block string `nbt:"Block,omitempty"`
}
func main() {
var states []Item
readItems(&states)
// generate go source file
genSourceFile(states)
}
func readItems(states *[]Item) {
// open block_states data file
f, err := os.Open("items.nbt")
if err != nil {
log.Panic(err)
}
defer f.Close()
r, err := gzip.NewReader(f)
if err != nil {
log.Panic(err)
}
// parse the nbt format
if _, err := nbt.NewDecoder(r).Decode(states); err != nil {
log.Panic(err)
}
}
func genSourceFile(states []Item) {
var source bytes.Buffer
if err := temp.Execute(&source, states); err != nil {
log.Panic(err)
}
formattedSource, err := format.Source(source.Bytes())
if err != nil {
panic(err)
}
err = os.WriteFile("items.go", formattedSource, 0o666)
if err != nil {
panic(err)
}
log.Print("Generated items.go")
}

20
level/item/item.go Normal file
View File

@ -0,0 +1,20 @@
package item
import (
_ "embed"
"github.com/Tnze/go-mc/level/block"
)
type Item interface {
ID() string
}
type BlockItem interface {
Block() block.Block
}
// This file stores all possible block states into a TAG_List with gzip compressed.
//
//go:generate go run ./generator/main.go
type ID int

8610
level/item/items.go Normal file

File diff suppressed because it is too large Load Diff

BIN
level/item/items.nbt Normal file

Binary file not shown.