Updated 1.21.6
This commit is contained in:
@ -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.
@ -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"
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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.
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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")
|
||||
}
|
@ -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)
|
||||
}
|
@ -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)
|
||||
}
|
@ -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")
|
||||
}
|
@ -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")
|
||||
}
|
@ -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")
|
||||
}
|
@ -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")
|
||||
}
|
@ -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
|
||||
}
|
@ -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)
|
||||
// }
|
||||
// }
|
||||
// }
|
@ -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
|
||||
}
|
@ -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)
|
||||
}
|
@ -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)
|
||||
}
|
@ -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)
|
||||
}
|
@ -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"
|
||||
}
|
@ -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)
|
||||
}
|
@ -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)
|
||||
}
|
@ -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)
|
||||
}
|
@ -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")
|
||||
}
|
@ -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)
|
||||
}
|
@ -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
|
||||
}
|
@ -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")
|
||||
}
|
@ -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
|
||||
}
|
@ -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
|
||||
}
|
@ -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)
|
||||
}
|
@ -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
|
||||
}
|
@ -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)
|
||||
}
|
@ -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")
|
||||
}
|
@ -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)
|
||||
}
|
@ -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)
|
||||
}
|
@ -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"
|
||||
}
|
@ -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)
|
||||
}
|
@ -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"
|
||||
}
|
@ -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)
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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"
|
||||
}
|
@ -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")
|
||||
}
|
@ -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)
|
||||
}
|
@ -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)
|
||||
}
|
@ -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"
|
||||
}
|
@ -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)
|
||||
}
|
@ -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")
|
||||
}
|
@ -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")
|
||||
}
|
@ -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")
|
||||
}
|
@ -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)
|
||||
}
|
@ -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]
|
||||
}
|
33
level/item/generator/items.go.tmpl
Normal file
33
level/item/generator/items.go.tmpl
Normal 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}}
|
||||
}
|
78
level/item/generator/main.go
Normal file
78
level/item/generator/main.go
Normal 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
20
level/item/item.go
Normal 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
8610
level/item/items.go
Normal file
File diff suppressed because it is too large
Load Diff
BIN
level/item/items.nbt
Normal file
BIN
level/item/items.nbt
Normal file
Binary file not shown.
Reference in New Issue
Block a user