Port to 1.21.9

I did not update density functions because i'm too lazy to refactor a bunch of things because Mojang decided to remove "initial_density_without_jaggedness", but i will in the future
This commit is contained in:
Alexander Medvedev 2025-10-02 18:27:10 +02:00
parent 85a4d10a36
commit 58583da4c1
40 changed files with 317259 additions and 278832 deletions

22
Cargo.lock generated
View File

@ -2038,7 +2038,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin" name = "pumpkin"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"base64 0.22.1", "base64 0.22.1",
@ -2083,7 +2083,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-api-macros" name = "pumpkin-api-macros"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"proc-macro-error2", "proc-macro-error2",
"proc-macro2", "proc-macro2",
@ -2093,7 +2093,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-config" name = "pumpkin-config"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"log", "log",
"pumpkin-util", "pumpkin-util",
@ -2104,7 +2104,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-data" name = "pumpkin-data"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"crc-fast", "crc-fast",
"heck", "heck",
@ -2122,7 +2122,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-inventory" name = "pumpkin-inventory"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"crossbeam-utils", "crossbeam-utils",
@ -2137,7 +2137,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-macros" name = "pumpkin-macros"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro-error2", "proc-macro-error2",
@ -2148,7 +2148,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-nbt" name = "pumpkin-nbt"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"bytes", "bytes",
"cesu8", "cesu8",
@ -2160,7 +2160,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-protocol" name = "pumpkin-protocol"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"aes", "aes",
"async-compression", "async-compression",
@ -2182,7 +2182,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-registry" name = "pumpkin-registry"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"indexmap 2.11.0", "indexmap 2.11.0",
"pumpkin-protocol", "pumpkin-protocol",
@ -2193,7 +2193,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-util" name = "pumpkin-util"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"bytes", "bytes",
"colored", "colored",
@ -2213,7 +2213,7 @@ dependencies = [
[[package]] [[package]]
name = "pumpkin-world" name = "pumpkin-world"
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bitflags", "bitflags",

View File

@ -14,7 +14,7 @@ members = [
] ]
[workspace.package] [workspace.package]
version = "0.1.0-dev+1.21.8" version = "0.1.0-dev+1.21.9"
edition = "2024" edition = "2024"
[profile.release] [profile.release]

View File

@ -5,7 +5,7 @@
![CI](https://github.com/Snowiiii/Pumpkin/actions/workflows/rust.yml/badge.svg) ![CI](https://github.com/Snowiiii/Pumpkin/actions/workflows/rust.yml/badge.svg)
[![Discord](https://img.shields.io/discord/1268592337445978193.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/wT8XjrjKkf) [![Discord](https://img.shields.io/discord/1268592337445978193.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/wT8XjrjKkf)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
![Current version)](https://img.shields.io/badge/current_version-1.21.8-blue) ![Current version)](https://img.shields.io/badge/current_version-1.21.9-blue)
</div> </div>

View File

@ -5860,7 +5860,6 @@
"minecraft:mushroom_island_vegetation", "minecraft:mushroom_island_vegetation",
"minecraft:brown_mushroom_taiga", "minecraft:brown_mushroom_taiga",
"minecraft:red_mushroom_taiga", "minecraft:red_mushroom_taiga",
"minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane", "minecraft:patch_sugar_cane",
"minecraft:patch_firefly_bush_near_water" "minecraft:patch_firefly_bush_near_water"
], ],

File diff suppressed because it is too large Load Diff

View File

@ -271,7 +271,10 @@
"erosion": "minecraft:overworld/erosion", "erosion": "minecraft:overworld/erosion",
"depth": "minecraft:overworld_amplified/depth", "depth": "minecraft:overworld_amplified/depth",
"ridges": "minecraft:overworld/ridges", "ridges": "minecraft:overworld/ridges",
"initial_density_without_jaggedness": { "preliminary_surface_level": {
"density": {
"argument1": -0.390625,
"argument2": {
"argument1": 0.4, "argument1": 0.4,
"argument2": { "argument2": {
"argument1": { "argument1": {
@ -302,7 +305,20 @@
"argument1": 4.0, "argument1": 4.0,
"argument2": { "argument2": {
"argument": { "argument": {
"argument1": "minecraft:overworld_amplified/depth", "argument1": {
"argument1": {
"from_y": -64,
"to_y": 320,
"from_value": 1.5,
"to_value": -1.5,
"type": "minecraft:y_clamped_gradient"
},
"argument2": {
"argument": "minecraft:overworld_amplified/offset",
"type": "minecraft:cache_2d"
},
"type": "minecraft:add"
},
"argument2": { "argument2": {
"argument": "minecraft:overworld_amplified/factor", "argument": "minecraft:overworld_amplified/factor",
"type": "minecraft:cache_2d" "type": "minecraft:cache_2d"
@ -331,6 +347,47 @@
}, },
"type": "minecraft:add" "type": "minecraft:add"
}, },
"type": "minecraft:add"
},
"upper_bound": {
"input": {
"argument1": 128.0,
"argument2": {
"argument1": -128.0,
"argument2": {
"argument1": {
"argument1": 0.2734375,
"argument2": {
"argument": {
"argument": "minecraft:overworld_amplified/factor",
"type": "minecraft:cache_2d"
},
"type": "minecraft:invert"
},
"type": "minecraft:mul"
},
"argument2": {
"argument1": -1.0,
"argument2": {
"argument": "minecraft:overworld_amplified/offset",
"type": "minecraft:cache_2d"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"min": -40.0,
"max": 320.0,
"type": "minecraft:clamp"
},
"lower_bound": -64,
"cell_height": 8,
"type": "minecraft:find_top_surface"
},
"lava": { "lava": {
"noise": "minecraft:aquifer_lava", "noise": "minecraft:aquifer_lava",
"xz_scale": 1.0, "xz_scale": 1.0,
@ -2611,7 +2668,7 @@
"erosion": 0.0, "erosion": 0.0,
"depth": 0.0, "depth": 0.0,
"ridges": 0.0, "ridges": 0.0,
"initial_density_without_jaggedness": 0.0, "preliminary_surface_level": 0.0,
"lava": 0.0, "lava": 0.0,
"temperature": { "temperature": {
"xz_scale": 0.25, "xz_scale": 0.25,
@ -4890,52 +4947,7 @@
}, },
"depth": 0.0, "depth": 0.0,
"ridges": 0.0, "ridges": 0.0,
"initial_density_without_jaggedness": { "preliminary_surface_level": 0.0,
"argument1": -0.234375,
"argument2": {
"argument1": {
"from_y": 4,
"to_y": 32,
"from_value": 0.0,
"to_value": 1.0,
"type": "minecraft:y_clamped_gradient"
},
"argument2": {
"argument1": 0.234375,
"argument2": {
"argument1": -23.4375,
"argument2": {
"argument1": {
"from_y": 56,
"to_y": 312,
"from_value": 1.0,
"to_value": 0.0,
"type": "minecraft:y_clamped_gradient"
},
"argument2": {
"argument1": 23.4375,
"argument2": {
"argument1": -0.703125,
"argument2": {
"argument": {
"type": "minecraft:end_islands"
},
"type": "minecraft:cache_2d"
},
"type": "minecraft:add"
},
"type": "minecraft:add"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"type": "minecraft:add"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"lava": 0.0, "lava": 0.0,
"temperature": 0.0, "temperature": 0.0,
"vegetation": 0.0, "vegetation": 0.0,
@ -5030,7 +5042,7 @@
"erosion": 0.0, "erosion": 0.0,
"depth": 0.0, "depth": 0.0,
"ridges": 0.0, "ridges": 0.0,
"initial_density_without_jaggedness": 0.0, "preliminary_surface_level": 0.0,
"lava": 0.0, "lava": 0.0,
"temperature": { "temperature": {
"xz_scale": 0.25, "xz_scale": 0.25,
@ -7468,7 +7480,10 @@
"erosion": "minecraft:overworld_large_biomes/erosion", "erosion": "minecraft:overworld_large_biomes/erosion",
"depth": "minecraft:overworld_large_biomes/depth", "depth": "minecraft:overworld_large_biomes/depth",
"ridges": "minecraft:overworld/ridges", "ridges": "minecraft:overworld/ridges",
"initial_density_without_jaggedness": { "preliminary_surface_level": {
"density": {
"argument1": -0.390625,
"argument2": {
"argument1": 0.1171875, "argument1": 0.1171875,
"argument2": { "argument2": {
"argument1": { "argument1": {
@ -7499,7 +7514,20 @@
"argument1": 4.0, "argument1": 4.0,
"argument2": { "argument2": {
"argument": { "argument": {
"argument1": "minecraft:overworld_large_biomes/depth", "argument1": {
"argument1": {
"from_y": -64,
"to_y": 320,
"from_value": 1.5,
"to_value": -1.5,
"type": "minecraft:y_clamped_gradient"
},
"argument2": {
"argument": "minecraft:overworld_large_biomes/offset",
"type": "minecraft:cache_2d"
},
"type": "minecraft:add"
},
"argument2": { "argument2": {
"argument": "minecraft:overworld_large_biomes/factor", "argument": "minecraft:overworld_large_biomes/factor",
"type": "minecraft:cache_2d" "type": "minecraft:cache_2d"
@ -7528,6 +7556,47 @@
}, },
"type": "minecraft:add" "type": "minecraft:add"
}, },
"type": "minecraft:add"
},
"upper_bound": {
"input": {
"argument1": 128.0,
"argument2": {
"argument1": -128.0,
"argument2": {
"argument1": {
"argument1": 0.2734375,
"argument2": {
"argument": {
"argument": "minecraft:overworld_large_biomes/factor",
"type": "minecraft:cache_2d"
},
"type": "minecraft:invert"
},
"type": "minecraft:mul"
},
"argument2": {
"argument1": -1.0,
"argument2": {
"argument": "minecraft:overworld_large_biomes/offset",
"type": "minecraft:cache_2d"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"min": -40.0,
"max": 320.0,
"type": "minecraft:clamp"
},
"lower_bound": -64,
"cell_height": 8,
"type": "minecraft:find_top_surface"
},
"lava": { "lava": {
"noise": "minecraft:aquifer_lava", "noise": "minecraft:aquifer_lava",
"xz_scale": 1.0, "xz_scale": 1.0,
@ -9808,7 +9877,7 @@
"erosion": 0.0, "erosion": 0.0,
"depth": 0.0, "depth": 0.0,
"ridges": 0.0, "ridges": 0.0,
"initial_density_without_jaggedness": 0.0, "preliminary_surface_level": 0.0,
"lava": 0.0, "lava": 0.0,
"temperature": { "temperature": {
"xz_scale": 0.25, "xz_scale": 0.25,
@ -10747,7 +10816,10 @@
"erosion": "minecraft:overworld/erosion", "erosion": "minecraft:overworld/erosion",
"depth": "minecraft:overworld/depth", "depth": "minecraft:overworld/depth",
"ridges": "minecraft:overworld/ridges", "ridges": "minecraft:overworld/ridges",
"initial_density_without_jaggedness": { "preliminary_surface_level": {
"density": {
"argument1": -0.390625,
"argument2": {
"argument1": 0.1171875, "argument1": 0.1171875,
"argument2": { "argument2": {
"argument1": { "argument1": {
@ -10778,7 +10850,20 @@
"argument1": 4.0, "argument1": 4.0,
"argument2": { "argument2": {
"argument": { "argument": {
"argument1": "minecraft:overworld/depth", "argument1": {
"argument1": {
"from_y": -64,
"to_y": 320,
"from_value": 1.5,
"to_value": -1.5,
"type": "minecraft:y_clamped_gradient"
},
"argument2": {
"argument": "minecraft:overworld/offset",
"type": "minecraft:cache_2d"
},
"type": "minecraft:add"
},
"argument2": { "argument2": {
"argument": "minecraft:overworld/factor", "argument": "minecraft:overworld/factor",
"type": "minecraft:cache_2d" "type": "minecraft:cache_2d"
@ -10807,6 +10892,47 @@
}, },
"type": "minecraft:add" "type": "minecraft:add"
}, },
"type": "minecraft:add"
},
"upper_bound": {
"input": {
"argument1": 128.0,
"argument2": {
"argument1": -128.0,
"argument2": {
"argument1": {
"argument1": 0.2734375,
"argument2": {
"argument": {
"argument": "minecraft:overworld/factor",
"type": "minecraft:cache_2d"
},
"type": "minecraft:invert"
},
"type": "minecraft:mul"
},
"argument2": {
"argument1": -1.0,
"argument2": {
"argument": "minecraft:overworld/offset",
"type": "minecraft:cache_2d"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"type": "minecraft:mul"
},
"type": "minecraft:add"
},
"min": -40.0,
"max": 320.0,
"type": "minecraft:clamp"
},
"lower_bound": -64,
"cell_height": 8,
"type": "minecraft:find_top_surface"
},
"lava": { "lava": {
"noise": "minecraft:aquifer_lava", "noise": "minecraft:aquifer_lava",
"xz_scale": 1.0, "xz_scale": 1.0,

View File

@ -1,117 +1,117 @@
{ {
"381": 0.5, "1357": 0.3,
"211": 0.3, "526": 0.65,
"209": 0.3, "524": 0.65,
"1178": 0.65,
"192": 0.5,
"208": 0.3,
"253": 0.5,
"204": 0.3,
"1177": 0.65,
"235": 0.65, "235": 0.65,
"911": 0.65,
"498": 0.65,
"241": 0.65,
"246": 0.65,
"1057": 0.85,
"212": 0.65,
"230": 0.65,
"251": 0.65,
"143": 0.3,
"248": 0.65,
"1233": 0.3,
"912": 0.85,
"243": 0.65,
"267": 0.65,
"266": 0.3,
"263": 0.3,
"1235": 0.65,
"1179": 0.85,
"185": 0.3,
"189": 0.3,
"52": 0.3,
"1061": 0.5,
"500": 0.65,
"56": 0.3,
"497": 0.65,
"375": 0.85,
"188": 0.3,
"1063": 0.3,
"380": 0.65,
"240": 0.65,
"1299": 0.3,
"245": 0.85,
"261": 0.3,
"382": 0.5,
"239": 0.65,
"495": 0.65,
"1020": 0.65,
"55": 0.3,
"329": 0.3,
"242": 0.65,
"1236": 0.3,
"1234": 0.3,
"187": 0.3,
"51": 0.3,
"268": 0.3,
"233": 0.65,
"234": 0.65,
"232": 0.65,
"206": 0.85,
"190": 0.3,
"237": 0.65,
"238": 0.65,
"57": 0.3,
"249": 0.65,
"183": 0.3,
"203": 0.65,
"1303": 0.65,
"328": 0.5,
"244": 0.85,
"496": 0.65,
"257": 0.3,
"258": 0.3,
"1064": 0.3,
"50": 0.3,
"475": 0.85,
"256": 0.5,
"262": 0.65,
"344": 0.65,
"210": 0.3,
"374": 0.85,
"184": 0.3,
"255": 0.5,
"910": 0.3,
"345": 0.65,
"857": 0.65,
"548": 0.85,
"547": 0.85,
"499": 0.5,
"1074": 0.65,
"229": 0.65,
"247": 0.65,
"1040": 1.0,
"1191": 1.0,
"265": 0.65,
"205": 0.65,
"1300": 0.3,
"254": 0.5,
"186": 0.3,
"982": 0.5,
"182": 0.3,
"252": 0.65,
"49": 0.3,
"260": 0.3, "260": 0.3,
"53": 0.3, "1283": 0.3,
"376": 0.65, "1106": 0.5,
"250": 0.65, "265": 0.65,
"259": 0.3, "341": 0.3,
"231": 0.65, "208": 0.3,
"191": 0.3, "143": 0.3,
"236": 0.65, "203": 0.65,
"243": 0.65,
"1281": 0.3,
"210": 0.3,
"51": 0.3,
"411": 0.5,
"209": 0.3,
"246": 0.65,
"1223": 0.65,
"234": 0.65,
"189": 0.3,
"410": 0.5,
"186": 0.3,
"249": 0.65,
"1237": 1.0,
"504": 0.85,
"952": 0.65,
"205": 0.65,
"202": 0.3, "202": 0.3,
"54": 0.3, "253": 0.5,
"394": 0.65, "191": 0.3,
"1085": 1.0,
"185": 0.3,
"240": 0.65,
"340": 0.5,
"239": 0.65,
"261": 0.3,
"256": 0.5,
"525": 0.65,
"1360": 0.65,
"267": 0.65,
"211": 0.3,
"247": 0.65,
"230": 0.65,
"255": 0.5,
"236": 0.65,
"529": 0.65,
"1119": 0.65,
"231": 0.65,
"953": 0.85,
"263": 0.3,
"356": 0.65,
"257": 0.3,
"1109": 0.3,
"241": 0.65,
"258": 0.3,
"248": 0.65,
"237": 0.65,
"1108": 0.3,
"1280": 0.3,
"1107": 0.3,
"56": 0.3,
"266": 0.3,
"951": 0.3,
"268": 0.3,
"55": 0.3,
"244": 0.85,
"52": 0.3,
"893": 0.65,
"49": 0.3,
"264": 0.3, "264": 0.3,
"1062": 0.3 "576": 0.85,
"1282": 0.65,
"259": 0.3,
"187": 0.3,
"250": 0.65,
"182": 0.3,
"206": 0.85,
"528": 0.5,
"387": 0.85,
"409": 0.65,
"233": 0.65,
"53": 0.3,
"527": 0.65,
"190": 0.3,
"184": 0.3,
"50": 0.3,
"57": 0.3,
"192": 0.5,
"1027": 0.5,
"212": 0.65,
"1065": 0.65,
"577": 0.85,
"254": 0.5,
"242": 0.65,
"1224": 0.65,
"262": 0.65,
"188": 0.3,
"423": 0.65,
"54": 0.3,
"1225": 0.85,
"389": 0.65,
"357": 0.65,
"388": 0.85,
"232": 0.65,
"238": 0.65,
"204": 0.3,
"1102": 0.85,
"251": 0.65,
"252": 0.65,
"229": 0.65,
"183": 0.3,
"245": 0.85,
"1356": 0.3
} }

View File

@ -7,9 +7,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "movement_speed", "attribute": "movement_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.speed", "id": "minecraft:effect.speed",
"baseValue": 0.20000000298023224, "baseValue": 0.20000000298023224
"operation": "ADD_MULTIPLIED_TOTAL"
} }
] ]
}, },
@ -21,9 +21,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "movement_speed", "attribute": "movement_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.slowness", "id": "minecraft:effect.slowness",
"baseValue": -0.15000000596046448, "baseValue": -0.15000000596046448
"operation": "ADD_MULTIPLIED_TOTAL"
} }
] ]
}, },
@ -35,9 +35,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "attack_speed", "attribute": "attack_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.haste", "id": "minecraft:effect.haste",
"baseValue": 0.10000000149011612, "baseValue": 0.10000000149011612
"operation": "ADD_MULTIPLIED_TOTAL"
} }
] ]
}, },
@ -49,9 +49,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "attack_speed", "attribute": "attack_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.mining_fatigue", "id": "minecraft:effect.mining_fatigue",
"baseValue": -0.10000000149011612, "baseValue": -0.10000000149011612
"operation": "ADD_MULTIPLIED_TOTAL"
} }
] ]
}, },
@ -63,9 +63,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "attack_damage", "attribute": "attack_damage",
"operation": "ADD_VALUE",
"id": "minecraft:effect.strength", "id": "minecraft:effect.strength",
"baseValue": 3.0, "baseValue": 3.0
"operation": "ADD_VALUE"
} }
] ]
}, },
@ -91,9 +91,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "safe_fall_distance", "attribute": "safe_fall_distance",
"operation": "ADD_VALUE",
"id": "minecraft:effect.jump_boost", "id": "minecraft:effect.jump_boost",
"baseValue": 1.0, "baseValue": 1.0
"operation": "ADD_VALUE"
} }
] ]
}, },
@ -143,9 +143,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "waypoint_transmit_range", "attribute": "waypoint_transmit_range",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.waypoint_transmit_range_hide", "id": "minecraft:effect.waypoint_transmit_range_hide",
"baseValue": -1.0, "baseValue": -1.0
"operation": "ADD_MULTIPLIED_TOTAL"
} }
] ]
}, },
@ -178,9 +178,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "attack_damage", "attribute": "attack_damage",
"operation": "ADD_VALUE",
"id": "minecraft:effect.weakness", "id": "minecraft:effect.weakness",
"baseValue": -4.0, "baseValue": -4.0
"operation": "ADD_VALUE"
} }
] ]
}, },
@ -206,9 +206,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "max_health", "attribute": "max_health",
"operation": "ADD_VALUE",
"id": "minecraft:effect.health_boost", "id": "minecraft:effect.health_boost",
"baseValue": 4.0, "baseValue": 4.0
"operation": "ADD_VALUE"
} }
] ]
}, },
@ -220,9 +220,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "max_absorption", "attribute": "max_absorption",
"operation": "ADD_VALUE",
"id": "minecraft:effect.absorption", "id": "minecraft:effect.absorption",
"baseValue": 4.0, "baseValue": 4.0
"operation": "ADD_VALUE"
} }
] ]
}, },
@ -255,9 +255,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "luck", "attribute": "luck",
"operation": "ADD_VALUE",
"id": "minecraft:effect.luck", "id": "minecraft:effect.luck",
"baseValue": 1.0, "baseValue": 1.0
"operation": "ADD_VALUE"
} }
] ]
}, },
@ -269,9 +269,9 @@
"attribute_modifiers": [ "attribute_modifiers": [
{ {
"attribute": "luck", "attribute": "luck",
"operation": "ADD_VALUE",
"id": "minecraft:effect.unluck", "id": "minecraft:effect.unluck",
"baseValue": -1.0, "baseValue": -1.0
"operation": "ADD_VALUE"
} }
] ]
}, },

File diff suppressed because it is too large Load Diff

View File

@ -289,13 +289,12 @@
}, },
{ {
"predicate": { "predicate": {
"block": {
"blocks": "#minecraft:lightning_rods"
},
"can_see_sky": true "can_see_sky": true
}, },
"condition": "minecraft:location_check" "condition": "minecraft:location_check"
},
{
"block": "minecraft:lightning_rod",
"condition": "minecraft:block_state_property"
} }
], ],
"condition": "minecraft:all_of" "condition": "minecraft:all_of"
@ -2104,15 +2103,16 @@
"enchanted": "attacker", "enchanted": "attacker",
"affected": "attacker", "affected": "attacker",
"effect": { "effect": {
"small_particle": {
"type": "minecraft:gust_emitter_small"
},
"large_particle": { "large_particle": {
"type": "minecraft:gust_emitter_large" "type": "minecraft:gust_emitter_large"
}, },
"sound": "minecraft:entity.wind_charge.wind_burst", "sound": "minecraft:entity.wind_charge.wind_burst",
"radius": 3.5,
"block_interaction": "trigger", "block_interaction": "trigger",
"small_particle": {
"type": "minecraft:gust_emitter_small"
},
"immune_blocks": "#minecraft:blocks_wind_charge_explosions",
"radius": 3.5,
"knockback_multiplier": { "knockback_multiplier": {
"values": [ "values": [
1.2, 1.2,
@ -2126,7 +2126,6 @@
}, },
"type": "minecraft:lookup" "type": "minecraft:lookup"
}, },
"immune_blocks": "#minecraft:blocks_wind_charge_explosions",
"type": "minecraft:explode" "type": "minecraft:explode"
}, },
"requirements": { "requirements": {

File diff suppressed because it is too large Load Diff

View File

@ -1,39 +1,39 @@
{ {
"50": 383, "252": 920,
"237": 398, "52": 415,
"242": 403, "243": 434,
"247": 406, "229": 422,
"269": 761, "236": 427,
"51": 384, "237": 428,
"239": 400, "233": 424,
"230": 1102, "231": 1164,
"55": 388, "51": 414,
"241": 402, "239": 430,
"238": 399, "50": 413,
"231": 1103, "249": 917,
"203": 391, "206": 1147,
"244": 381, "238": 429,
"56": 389, "269": 791,
"229": 392, "56": 419,
"207": 407, "247": 436,
"205": 1085, "203": 421,
"240": 401, "340": 438,
"234": 395, "242": 433,
"243": 404, "244": 411,
"54": 387, "230": 1163,
"251": 881, "53": 416,
"249": 879, "55": 418,
"235": 396, "232": 423,
"52": 385, "251": 919,
"53": 386, "57": 420,
"206": 1086, "54": 417,
"250": 880, "241": 432,
"248": 405, "250": 918,
"49": 382, "235": 426,
"236": 397, "248": 435,
"233": 394, "234": 425,
"328": 408, "207": 437,
"252": 882, "49": 412,
"57": 390, "240": 431,
"232": 393 "205": 1146
} }

View File

@ -1,9 +1,9 @@
{ {
"969": 20000, "1014": 20000,
"83": 16000, "83": 16000,
"1071": 2400, "1116": 2400,
"860": 1600, "896": 1600,
"861": 1600, "897": 1600,
"141": 300, "141": 300,
"178": 300, "178": 300,
"154": 300, "154": 300,
@ -53,17 +53,17 @@
"45": 300, "45": 300,
"41": 300, "41": 300,
"48": 300, "48": 300,
"412": 300, "441": 300,
"413": 300, "442": 300,
"414": 300, "443": 300,
"415": 300, "444": 300,
"416": 300, "445": 300,
"418": 300, "447": 300,
"419": 300, "448": 300,
"420": 300, "449": 300,
"421": 300, "450": 300,
"417": 300, "446": 300,
"422": 300, "451": 300,
"270": 150, "270": 150,
"271": 150, "271": 150,
"272": 150, "272": 150,
@ -75,129 +75,139 @@
"279": 150, "279": 150,
"275": 150, "275": 150,
"280": 150, "280": 150,
"769": 300, "805": 300,
"803": 300,
"807": 300,
"808": 300,
"804": 300,
"801": 300,
"802": 300,
"809": 300,
"810": 300,
"806": 300,
"767": 300, "767": 300,
"771": 300,
"772": 300,
"768": 300, "768": 300,
"765": 300, "769": 300,
"766": 300, "770": 300,
"771": 300,
"773": 300, "773": 300,
"774": 300, "774": 300,
"770": 300, "775": 300,
"731": 300, "776": 300,
"732": 300, "772": 300,
"733": 300,
"734": 300,
"735": 300,
"737": 300,
"738": 300,
"739": 300,
"740": 300,
"736": 300,
"332": 300,
"336": 300,
"338": 300,
"339": 300,
"333": 300,
"334": 300,
"335": 300,
"340": 300,
"341": 300,
"337": 300,
"789": 300,
"787": 300,
"791": 300,
"792": 300,
"788": 300,
"785": 300,
"786": 300,
"793": 300,
"794": 300,
"790": 300,
"712": 300,
"305": 300, "305": 300,
"306": 300, "306": 300,
"701": 300, "307": 300,
"308": 300,
"310": 300,
"311": 300,
"312": 300,
"313": 300,
"314": 300,
"315": 300,
"344": 300,
"348": 300,
"350": 300,
"351": 300,
"345": 300,
"346": 300,
"347": 300,
"352": 300,
"353": 300,
"349": 300,
"825": 300,
"823": 300,
"827": 300,
"828": 300,
"824": 300,
"821": 300,
"822": 300,
"829": 300,
"830": 300,
"826": 300,
"748": 300,
"317": 300,
"318": 300,
"730": 300,
"343": 300,
"331": 300, "331": 300,
"319": 300, "745": 300,
"709": 300, "332": 300,
"320": 300, "741": 300,
"705": 300, "1261": 300,
"1214": 300, "1262": 300,
"1215": 300, "1263": 300,
"1216": 300, "1264": 300,
"1217": 300, "1265": 300,
"1218": 300, "1266": 300,
"1219": 300, "1267": 300,
"1220": 300, "1268": 300,
"1221": 300, "1269": 300,
"1222": 300, "1270": 300,
"1223": 300, "1271": 300,
"1224": 300, "1272": 300,
"1225": 300, "1273": 300,
"1226": 300, "1274": 300,
"1227": 300, "1275": 300,
"1228": 300, "1276": 300,
"1229": 300, "894": 300,
"858": 300, "1053": 300,
"1008": 300, "335": 300,
"323": 300, "988": 200,
"943": 200, "989": 200,
"944": 200, "990": 200,
"945": 200, "992": 200,
"947": 200, "991": 200,
"946": 200, "994": 200,
"949": 200, "995": 200,
"950": 200, "996": 200,
"951": 200, "997": 200,
"952": 200, "993": 200,
"948": 200, "1000": 800,
"955": 800, "1001": 800,
"956": 800, "1002": 800,
"957": 800, "1004": 800,
"959": 800, "1005": 800,
"960": 800, "1003": 800,
"958": 800, "1006": 800,
"961": 800, "1007": 800,
"962": 800, "1008": 800,
"963": 800, "1009": 800,
"964": 800, "912": 200,
"876": 200, "911": 200,
"875": 200, "915": 200,
"879": 200, "914": 200,
"878": 200, "913": 200,
"877": 200, "780": 200,
"744": 200, "781": 200,
"745": 200, "782": 200,
"746": 200, "783": 200,
"747": 200, "784": 200,
"748": 200, "786": 200,
"750": 200, "787": 200,
"751": 200, "788": 200,
"752": 200, "789": 200,
"753": 200, "785": 200,
"749": 200, "863": 1200,
"827": 1200, "865": 1200,
"829": 1200, "867": 1200,
"831": 1200, "869": 1200,
"833": 1200, "871": 1200,
"835": 1200, "875": 1200,
"839": 1200, "877": 1200,
"841": 1200, "879": 1200,
"843": 1200, "881": 1200,
"845": 1200, "873": 1200,
"837": 1200, "864": 1200,
"828": 1200, "866": 1200,
"830": 1200, "868": 1200,
"832": 1200, "870": 1200,
"834": 1200, "872": 1200,
"836": 1200, "876": 1200,
"840": 1200, "878": 1200,
"842": 1200, "880": 1200,
"844": 1200, "882": 1200,
"846": 1200, "874": 1200,
"838": 1200,
"213": 100, "213": 100,
"214": 100, "214": 100,
"215": 100, "215": 100,
@ -214,17 +224,17 @@
"226": 100, "226": 100,
"227": 100, "227": 100,
"228": 100, "228": 100,
"715": 100, "751": 100,
"716": 100, "752": 100,
"717": 100, "753": 100,
"718": 100, "754": 100,
"719": 100, "755": 100,
"721": 100, "757": 100,
"722": 100, "758": 100,
"723": 100, "759": 100,
"724": 100, "760": 100,
"720": 100, "756": 100,
"905": 100, "946": 100,
"49": 100, "49": 100,
"50": 100, "50": 100,
"51": 100, "51": 100,
@ -236,36 +246,36 @@
"206": 100, "206": 100,
"57": 100, "57": 100,
"54": 100, "54": 100,
"856": 100, "892": 100,
"476": 67, "505": 67,
"477": 67, "506": 67,
"478": 67, "507": 67,
"479": 67, "508": 67,
"480": 67, "509": 67,
"481": 67, "510": 67,
"482": 67, "511": 67,
"483": 67, "512": 67,
"484": 67, "513": 67,
"485": 67, "514": 67,
"486": 67, "515": 67,
"487": 67, "516": 67,
"488": 67, "517": 67,
"489": 67, "518": 67,
"490": 67, "519": 67,
"491": 67, "520": 67,
"982": 4001, "1027": 4001,
"1274": 300, "1322": 300,
"269": 50, "269": 50,
"207": 100, "207": 100,
"209": 100, "209": 100,
"210": 100, "210": 100,
"687": 50, "716": 50,
"1276": 300, "1324": 300,
"1289": 300, "1337": 300,
"1292": 300, "1340": 300,
"1293": 300, "1341": 300,
"1295": 300, "1343": 300,
"1288": 300, "1336": 300,
"143": 300, "143": 300,
"260": 100 "260": 100
} }

View File

@ -1,8 +1,10 @@
{ {
"allowEnteringNetherUsingPortals": true,
"allowFireTicksAwayFromPlayer": false, "allowFireTicksAwayFromPlayer": false,
"announceAdvancements": true, "announceAdvancements": true,
"blockExplosionDropDecay": true, "blockExplosionDropDecay": true,
"commandBlockOutput": true, "commandBlockOutput": true,
"commandBlocksEnabled": true,
"commandModificationBlockLimit": 32768, "commandModificationBlockLimit": 32768,
"disableElytraMovementCheck": false, "disableElytraMovementCheck": false,
"disablePlayerMovementCheck": false, "disablePlayerMovementCheck": false,
@ -42,13 +44,15 @@
"playersNetherPortalDefaultDelay": 80, "playersNetherPortalDefaultDelay": 80,
"playersSleepingPercentage": 100, "playersSleepingPercentage": 100,
"projectilesCanBreakBlocks": true, "projectilesCanBreakBlocks": true,
"pvp": true,
"randomTickSpeed": 3, "randomTickSpeed": 3,
"reducedDebugInfo": false, "reducedDebugInfo": false,
"sendCommandFeedback": true, "sendCommandFeedback": true,
"showDeathMessages": true, "showDeathMessages": true,
"snowAccumulationHeight": 1, "snowAccumulationHeight": 1,
"spawnChunkRadius": 2, "spawnMonsters": true,
"spawnRadius": 10, "spawnRadius": 10,
"spawnerBlocksEnabled": true,
"spectatorsGenerateChunks": true, "spectatorsGenerateChunks": true,
"tntExplodes": true, "tntExplodes": true,
"tntExplosionDropDecay": false, "tntExplosionDropDecay": false,

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
{ {
"version": 772, "version": 773,
"serverbound": { "serverbound": {
"handshake": [ "handshake": [
"intention" "intention"
@ -24,7 +24,8 @@
"pong", "pong",
"resource_pack", "resource_pack",
"select_known_packs", "select_known_packs",
"custom_click_action" "custom_click_action",
"accept_code_of_conduct"
], ],
"play": [ "play": [
"accept_teleportation", "accept_teleportation",
@ -49,7 +50,7 @@
"container_slot_state_changed", "container_slot_state_changed",
"cookie_response", "cookie_response",
"custom_payload", "custom_payload",
"debug_sample_subscription", "debug_subscription_request",
"edit_book", "edit_book",
"entity_tag_query", "entity_tag_query",
"interact", "interact",
@ -127,7 +128,8 @@
"custom_report_details", "custom_report_details",
"server_links", "server_links",
"clear_dialog", "clear_dialog",
"show_dialog" "show_dialog",
"code_of_conduct"
], ],
"play": [ "play": [
"bundle_delimiter", "bundle_delimiter",
@ -156,6 +158,10 @@
"custom_chat_completions", "custom_chat_completions",
"custom_payload", "custom_payload",
"damage_event", "damage_event",
"debug/block_value",
"debug/chunk_value",
"debug/entity_value",
"debug/event",
"debug_sample", "debug_sample",
"delete_chat", "delete_chat",
"disconnect", "disconnect",
@ -165,6 +171,7 @@
"explode", "explode",
"forget_level_chunk", "forget_level_chunk",
"game_event", "game_event",
"game_test_highlight_pos",
"horse_screen_open", "horse_screen_open",
"hurt_animation", "hurt_animation",
"initialize_border", "initialize_border",

View File

@ -4,6 +4,7 @@
"block_marker", "block_marker",
"bubble", "bubble",
"cloud", "cloud",
"copper_fire_flame",
"crit", "crit",
"damage_indicator", "damage_indicator",
"dragon_breath", "dragon_breath",

View File

@ -5433,21 +5433,6 @@
}, },
{ {
"type": "minecraft:biome" "type": "minecraft:biome"
},
{
"predicate": {
"state": {
"Properties": {
"waterlogged": "false",
"stage": "0",
"hanging": "false",
"age": "0"
},
"Name": "minecraft:mangrove_propagule"
},
"type": "minecraft:would_survive"
},
"type": "minecraft:block_predicate_filter"
} }
] ]
}, },

View File

@ -1,216 +1,216 @@
[ [
{ {
"hash_key": 292609987, "hash_key": -868937173,
"enum_name": "attached", "enum_name": "attached",
"serialized_name": "attached", "serialized_name": "attached",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -464754605, "hash_key": -1626301765,
"enum_name": "berries", "enum_name": "berries",
"serialized_name": "berries", "serialized_name": "berries",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -152295390, "hash_key": -1313842550,
"enum_name": "bloom", "enum_name": "bloom",
"serialized_name": "bloom", "serialized_name": "bloom",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1629356982, "hash_key": 1504063154,
"enum_name": "bottom", "enum_name": "bottom",
"serialized_name": "bottom", "serialized_name": "bottom",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1497647537, "hash_key": 1635772599,
"enum_name": "can_summon", "enum_name": "can_summon",
"serialized_name": "can_summon", "serialized_name": "can_summon",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 962003109, "hash_key": -199544051,
"enum_name": "conditional", "enum_name": "conditional",
"serialized_name": "conditional", "serialized_name": "conditional",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 25290316, "hash_key": -1136256844,
"enum_name": "disarmed", "enum_name": "disarmed",
"serialized_name": "disarmed", "serialized_name": "disarmed",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -243036333, "hash_key": -1404583493,
"enum_name": "drag", "enum_name": "drag",
"serialized_name": "drag", "serialized_name": "drag",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1855722144, "hash_key": 1277697992,
"enum_name": "enabled", "enum_name": "enabled",
"serialized_name": "enabled", "serialized_name": "enabled",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -2067017896, "hash_key": 1066402240,
"enum_name": "extended", "enum_name": "extended",
"serialized_name": "extended", "serialized_name": "extended",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -246027184, "hash_key": -1407574344,
"enum_name": "eye", "enum_name": "eye",
"serialized_name": "eye", "serialized_name": "eye",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1329943386, "hash_key": 1803476750,
"enum_name": "falling", "enum_name": "falling",
"serialized_name": "falling", "serialized_name": "falling",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 446762063, "hash_key": -714785097,
"enum_name": "hanging", "enum_name": "hanging",
"serialized_name": "hanging", "serialized_name": "hanging",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1088906725, "hash_key": 2044513411,
"enum_name": "has_bottle_0", "enum_name": "has_bottle_0",
"serialized_name": "has_bottle_0", "serialized_name": "has_bottle_0",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1088906724, "hash_key": 2044513412,
"enum_name": "has_bottle_1", "enum_name": "has_bottle_1",
"serialized_name": "has_bottle_1", "serialized_name": "has_bottle_1",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1088906723, "hash_key": 2044513413,
"enum_name": "has_bottle_2", "enum_name": "has_bottle_2",
"serialized_name": "has_bottle_2", "serialized_name": "has_bottle_2",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 1895167925, "hash_key": 733620765,
"enum_name": "has_record", "enum_name": "has_record",
"serialized_name": "has_record", "serialized_name": "has_record",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -105819251, "hash_key": -1267366411,
"enum_name": "has_book", "enum_name": "has_book",
"serialized_name": "has_book", "serialized_name": "has_book",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 381546772, "hash_key": -780000388,
"enum_name": "inverted", "enum_name": "inverted",
"serialized_name": "inverted", "serialized_name": "inverted",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 1693060803, "hash_key": 531513643,
"enum_name": "in_wall", "enum_name": "in_wall",
"serialized_name": "in_wall", "serialized_name": "in_wall",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -246020938, "hash_key": -1407568098,
"enum_name": "lit", "enum_name": "lit",
"serialized_name": "lit", "serialized_name": "lit",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1343580887, "hash_key": 1789839249,
"enum_name": "locked", "enum_name": "locked",
"serialized_name": "locked", "serialized_name": "locked",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 1482783304, "hash_key": 321236144,
"enum_name": "natural", "enum_name": "natural",
"serialized_name": "natural", "serialized_name": "natural",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 546620605, "hash_key": -614926555,
"enum_name": "occupied", "enum_name": "occupied",
"serialized_name": "occupied", "serialized_name": "occupied",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -242710423, "hash_key": -1404257583,
"enum_name": "open", "enum_name": "open",
"serialized_name": "open", "serialized_name": "open",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 266334390, "hash_key": -895212770,
"enum_name": "persistent", "enum_name": "persistent",
"serialized_name": "persistent", "serialized_name": "persistent",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -634074493, "hash_key": -1795621653,
"enum_name": "powered", "enum_name": "powered",
"serialized_name": "powered", "serialized_name": "powered",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -136714597, "hash_key": -1298261757,
"enum_name": "short", "enum_name": "short",
"serialized_name": "short", "serialized_name": "short",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 117520335, "hash_key": -1044026825,
"enum_name": "shrieking", "enum_name": "shrieking",
"serialized_name": "shrieking", "serialized_name": "shrieking",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 426544012, "hash_key": -735003148,
"enum_name": "signal_fire", "enum_name": "signal_fire",
"serialized_name": "signal_fire", "serialized_name": "signal_fire",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -136535691, "hash_key": -1298082851,
"enum_name": "snowy", "enum_name": "snowy",
"serialized_name": "snowy", "serialized_name": "snowy",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -246013254, "hash_key": -1407560414,
"enum_name": "tip", "enum_name": "tip",
"serialized_name": "tip", "serialized_name": "tip",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -894880138, "hash_key": -2056427298,
"enum_name": "triggered", "enum_name": "triggered",
"serialized_name": "triggered", "serialized_name": "triggered",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -252123853, "hash_key": -1413671013,
"enum_name": "unstable", "enum_name": "unstable",
"serialized_name": "unstable", "serialized_name": "unstable",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 795783032, "hash_key": -365764128,
"enum_name": "waterlogged", "enum_name": "waterlogged",
"serialized_name": "waterlogged", "serialized_name": "waterlogged",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -345518141, "hash_key": 219624788,
"enum_name": "horizontal_axis", "enum_name": "horizontal_axis",
"serialized_name": "axis", "serialized_name": "axis",
"type": "enum", "type": "enum",
@ -220,7 +220,7 @@
] ]
}, },
{ {
"hash_key": 1136350348, "hash_key": -1767213959,
"enum_name": "axis", "enum_name": "axis",
"serialized_name": "axis", "serialized_name": "axis",
"type": "enum", "type": "enum",
@ -231,43 +231,43 @@
] ]
}, },
{ {
"hash_key": -246124358, "hash_key": -1407671518,
"enum_name": "up", "enum_name": "up",
"serialized_name": "up", "serialized_name": "up",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -243038527, "hash_key": -1404585687,
"enum_name": "down", "enum_name": "down",
"serialized_name": "down", "serialized_name": "down",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -141120732, "hash_key": -1302667892,
"enum_name": "north", "enum_name": "north",
"serialized_name": "north", "serialized_name": "north",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -243022308, "hash_key": -1404569468,
"enum_name": "east", "enum_name": "east",
"serialized_name": "east", "serialized_name": "east",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -136500244, "hash_key": -1298047404,
"enum_name": "south", "enum_name": "south",
"serialized_name": "south", "serialized_name": "south",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -242482226, "hash_key": -1404029386,
"enum_name": "west", "enum_name": "west",
"serialized_name": "west", "serialized_name": "west",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -122500183, "hash_key": -107426690,
"enum_name": "facing", "enum_name": "facing",
"serialized_name": "facing", "serialized_name": "facing",
"type": "enum", "type": "enum",
@ -281,7 +281,7 @@
] ]
}, },
{ {
"hash_key": 442763041, "hash_key": -2030439839,
"enum_name": "hopper_facing", "enum_name": "hopper_facing",
"serialized_name": "facing", "serialized_name": "facing",
"type": "enum", "type": "enum",
@ -294,7 +294,7 @@
] ]
}, },
{ {
"hash_key": -964161874, "hash_key": 101868993,
"enum_name": "horizontal_facing", "enum_name": "horizontal_facing",
"serialized_name": "facing", "serialized_name": "facing",
"type": "enum", "type": "enum",
@ -306,7 +306,7 @@
] ]
}, },
{ {
"hash_key": -21943977, "hash_key": -847270335,
"enum_name": "flower_amount", "enum_name": "flower_amount",
"serialized_name": "flower_amount", "serialized_name": "flower_amount",
"type": "int", "type": "int",
@ -314,7 +314,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": 159053359, "hash_key": -666272999,
"enum_name": "segment_amount", "enum_name": "segment_amount",
"serialized_name": "segment_amount", "serialized_name": "segment_amount",
"type": "int", "type": "int",
@ -322,7 +322,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": 1433802136, "hash_key": -725097098,
"enum_name": "orientation", "enum_name": "orientation",
"serialized_name": "orientation", "serialized_name": "orientation",
"type": "enum", "type": "enum",
@ -342,7 +342,7 @@
] ]
}, },
{ {
"hash_key": 164601017, "hash_key": -1333360433,
"enum_name": "block_face", "enum_name": "block_face",
"serialized_name": "face", "serialized_name": "face",
"type": "enum", "type": "enum",
@ -353,7 +353,7 @@
] ]
}, },
{ {
"hash_key": -1479871907, "hash_key": 82118361,
"enum_name": "attachment", "enum_name": "attachment",
"serialized_name": "attachment", "serialized_name": "attachment",
"type": "enum", "type": "enum",
@ -365,7 +365,7 @@
] ]
}, },
{ {
"hash_key": 1242384140, "hash_key": 665340171,
"enum_name": "east_wall_shape", "enum_name": "east_wall_shape",
"serialized_name": "east", "serialized_name": "east",
"type": "enum", "type": "enum",
@ -376,7 +376,7 @@
] ]
}, },
{ {
"hash_key": 106365700, "hash_key": -470678269,
"enum_name": "north_wall_shape", "enum_name": "north_wall_shape",
"serialized_name": "north", "serialized_name": "north",
"type": "enum", "type": "enum",
@ -387,7 +387,7 @@
] ]
}, },
{ {
"hash_key": 249600828, "hash_key": -327443141,
"enum_name": "south_wall_shape", "enum_name": "south_wall_shape",
"serialized_name": "south", "serialized_name": "south",
"type": "enum", "type": "enum",
@ -398,7 +398,7 @@
] ]
}, },
{ {
"hash_key": 1259126682, "hash_key": 682082713,
"enum_name": "west_wall_shape", "enum_name": "west_wall_shape",
"serialized_name": "west", "serialized_name": "west",
"type": "enum", "type": "enum",
@ -409,7 +409,7 @@
] ]
}, },
{ {
"hash_key": 1326347552, "hash_key": -530553496,
"enum_name": "east_wire_connection", "enum_name": "east_wire_connection",
"serialized_name": "east", "serialized_name": "east",
"type": "enum", "type": "enum",
@ -420,7 +420,7 @@
] ]
}, },
{ {
"hash_key": 190329112, "hash_key": -1666571936,
"enum_name": "north_wire_connection", "enum_name": "north_wire_connection",
"serialized_name": "north", "serialized_name": "north",
"type": "enum", "type": "enum",
@ -431,7 +431,7 @@
] ]
}, },
{ {
"hash_key": 333564240, "hash_key": -1523336808,
"enum_name": "south_wire_connection", "enum_name": "south_wire_connection",
"serialized_name": "south", "serialized_name": "south",
"type": "enum", "type": "enum",
@ -442,7 +442,7 @@
] ]
}, },
{ {
"hash_key": 1343090094, "hash_key": -513810954,
"enum_name": "west_wire_connection", "enum_name": "west_wire_connection",
"serialized_name": "west", "serialized_name": "west",
"type": "enum", "type": "enum",
@ -453,7 +453,7 @@
] ]
}, },
{ {
"hash_key": -985505033, "hash_key": -1732048296,
"enum_name": "double_block_half", "enum_name": "double_block_half",
"serialized_name": "half", "serialized_name": "half",
"type": "enum", "type": "enum",
@ -463,7 +463,7 @@
] ]
}, },
{ {
"hash_key": -603716111, "hash_key": 1544259784,
"enum_name": "block_half", "enum_name": "block_half",
"serialized_name": "half", "serialized_name": "half",
"type": "enum", "type": "enum",
@ -473,7 +473,19 @@
] ]
}, },
{ {
"hash_key": 1721731568, "hash_key": -35310110,
"enum_name": "side_chain",
"serialized_name": "side_chain",
"type": "enum",
"values": [
"unconnected",
"right",
"center",
"left"
]
},
{
"hash_key": -1320844637,
"enum_name": "rail_shape", "enum_name": "rail_shape",
"serialized_name": "shape", "serialized_name": "shape",
"type": "enum", "type": "enum",
@ -491,7 +503,7 @@
] ]
}, },
{ {
"hash_key": -1225380339, "hash_key": 1316839349,
"enum_name": "straight_rail_shape", "enum_name": "straight_rail_shape",
"serialized_name": "shape", "serialized_name": "shape",
"type": "enum", "type": "enum",
@ -505,7 +517,7 @@
] ]
}, },
{ {
"hash_key": 356708211, "hash_key": -468618147,
"enum_name": "age_1", "enum_name": "age_1",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -513,7 +525,7 @@
"max": 1 "max": 1
}, },
{ {
"hash_key": 356737073, "hash_key": -468589285,
"enum_name": "age_2", "enum_name": "age_2",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -521,7 +533,7 @@
"max": 2 "max": 2
}, },
{ {
"hash_key": 357631796, "hash_key": -467694562,
"enum_name": "age_3", "enum_name": "age_3",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -529,7 +541,7 @@
"max": 3 "max": 3
}, },
{ {
"hash_key": 385368210, "hash_key": -439958148,
"enum_name": "age_4", "enum_name": "age_4",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -537,7 +549,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": 1245197045, "hash_key": 419870687,
"enum_name": "age_5", "enum_name": "age_5",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -545,7 +557,7 @@
"max": 5 "max": 5
}, },
{ {
"hash_key": -503090506, "hash_key": -1328416864,
"enum_name": "age_7", "enum_name": "age_7",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -553,7 +565,7 @@
"max": 7 "max": 7
}, },
{ {
"hash_key": 1253390778, "hash_key": 428064420,
"enum_name": "age_15", "enum_name": "age_15",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -561,7 +573,7 @@
"max": 15 "max": 15
}, },
{ {
"hash_key": 169292927, "hash_key": -656033431,
"enum_name": "age_25", "enum_name": "age_25",
"serialized_name": "age", "serialized_name": "age",
"type": "int", "type": "int",
@ -569,7 +581,7 @@
"max": 25 "max": 25
}, },
{ {
"hash_key": 738310903, "hash_key": -87015455,
"enum_name": "bites", "enum_name": "bites",
"serialized_name": "bites", "serialized_name": "bites",
"type": "int", "type": "int",
@ -577,7 +589,7 @@
"max": 6 "max": 6
}, },
{ {
"hash_key": 232622669, "hash_key": -592703689,
"enum_name": "candles", "enum_name": "candles",
"serialized_name": "candles", "serialized_name": "candles",
"type": "int", "type": "int",
@ -585,7 +597,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": -980791440, "hash_key": -1806117798,
"enum_name": "delay", "enum_name": "delay",
"serialized_name": "delay", "serialized_name": "delay",
"type": "int", "type": "int",
@ -593,7 +605,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": -898466722, "hash_key": -1723793080,
"enum_name": "distance_1_7", "enum_name": "distance_1_7",
"serialized_name": "distance", "serialized_name": "distance",
"type": "int", "type": "int",
@ -601,7 +613,7 @@
"max": 7 "max": 7
}, },
{ {
"hash_key": 451117381, "hash_key": -374208977,
"enum_name": "eggs", "enum_name": "eggs",
"serialized_name": "eggs", "serialized_name": "eggs",
"type": "int", "type": "int",
@ -609,7 +621,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": -870654704, "hash_key": -1695981062,
"enum_name": "hatch", "enum_name": "hatch",
"serialized_name": "hatch", "serialized_name": "hatch",
"type": "int", "type": "int",
@ -617,7 +629,7 @@
"max": 2 "max": 2
}, },
{ {
"hash_key": 2111860563, "hash_key": 1286534205,
"enum_name": "layers", "enum_name": "layers",
"serialized_name": "layers", "serialized_name": "layers",
"type": "int", "type": "int",
@ -625,7 +637,7 @@
"max": 8 "max": 8
}, },
{ {
"hash_key": -752381395, "hash_key": -1577707753,
"enum_name": "level_3", "enum_name": "level_3",
"serialized_name": "level", "serialized_name": "level",
"type": "int", "type": "int",
@ -633,7 +645,7 @@
"max": 3 "max": 3
}, },
{ {
"hash_key": -1636338833, "hash_key": 1833302105,
"enum_name": "level_8", "enum_name": "level_8",
"serialized_name": "level", "serialized_name": "level",
"type": "int", "type": "int",
@ -641,7 +653,7 @@
"max": 8 "max": 8
}, },
{ {
"hash_key": 1047687505, "hash_key": 222361147,
"enum_name": "level_1_8", "enum_name": "level_1_8",
"serialized_name": "level", "serialized_name": "level",
"type": "int", "type": "int",
@ -649,7 +661,7 @@
"max": 8 "max": 8
}, },
{ {
"hash_key": -388126060, "hash_key": -1213452418,
"enum_name": "honey_level", "enum_name": "honey_level",
"serialized_name": "honey_level", "serialized_name": "honey_level",
"type": "int", "type": "int",
@ -657,7 +669,7 @@
"max": 5 "max": 5
}, },
{ {
"hash_key": 144271317, "hash_key": -681055041,
"enum_name": "level_15", "enum_name": "level_15",
"serialized_name": "level", "serialized_name": "level",
"type": "int", "type": "int",
@ -665,7 +677,7 @@
"max": 15 "max": 15
}, },
{ {
"hash_key": -1964986603, "hash_key": 1504654335,
"enum_name": "moisture", "enum_name": "moisture",
"serialized_name": "moisture", "serialized_name": "moisture",
"type": "int", "type": "int",
@ -673,7 +685,7 @@
"max": 7 "max": 7
}, },
{ {
"hash_key": -517152823, "hash_key": -1342479181,
"enum_name": "note", "enum_name": "note",
"serialized_name": "note", "serialized_name": "note",
"type": "int", "type": "int",
@ -681,7 +693,7 @@
"max": 24 "max": 24
}, },
{ {
"hash_key": -384040614, "hash_key": -1209366972,
"enum_name": "pickles", "enum_name": "pickles",
"serialized_name": "pickles", "serialized_name": "pickles",
"type": "int", "type": "int",
@ -689,7 +701,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": 268053108, "hash_key": -557273250,
"enum_name": "power", "enum_name": "power",
"serialized_name": "power", "serialized_name": "power",
"type": "int", "type": "int",
@ -697,7 +709,7 @@
"max": 15 "max": 15
}, },
{ {
"hash_key": -538778284, "hash_key": -1364104642,
"enum_name": "stage", "enum_name": "stage",
"serialized_name": "stage", "serialized_name": "stage",
"type": "int", "type": "int",
@ -705,7 +717,7 @@
"max": 1 "max": 1
}, },
{ {
"hash_key": -153764224, "hash_key": -979090582,
"enum_name": "distance_0_7", "enum_name": "distance_0_7",
"serialized_name": "distance", "serialized_name": "distance",
"type": "int", "type": "int",
@ -713,7 +725,7 @@
"max": 7 "max": 7
}, },
{ {
"hash_key": 1818488146, "hash_key": 993161788,
"enum_name": "charges", "enum_name": "charges",
"serialized_name": "charges", "serialized_name": "charges",
"type": "int", "type": "int",
@ -721,7 +733,7 @@
"max": 4 "max": 4
}, },
{ {
"hash_key": 904387101, "hash_key": 79060743,
"enum_name": "hydration", "enum_name": "hydration",
"serialized_name": "hydration", "serialized_name": "hydration",
"type": "int", "type": "int",
@ -729,7 +741,7 @@
"max": 3 "max": 3
}, },
{ {
"hash_key": 1078043, "hash_key": -824248315,
"enum_name": "rotation", "enum_name": "rotation",
"serialized_name": "rotation", "serialized_name": "rotation",
"type": "int", "type": "int",
@ -737,7 +749,7 @@
"max": 15 "max": 15
}, },
{ {
"hash_key": -535087379, "hash_key": -1446153795,
"enum_name": "bed_part", "enum_name": "bed_part",
"serialized_name": "part", "serialized_name": "part",
"type": "enum", "type": "enum",
@ -747,7 +759,7 @@
] ]
}, },
{ {
"hash_key": 540703261, "hash_key": -1286835399,
"enum_name": "chest_type", "enum_name": "chest_type",
"serialized_name": "type", "serialized_name": "type",
"type": "enum", "type": "enum",
@ -758,7 +770,7 @@
] ]
}, },
{ {
"hash_key": 418273440, "hash_key": -700666440,
"enum_name": "comparator_mode", "enum_name": "comparator_mode",
"serialized_name": "mode", "serialized_name": "mode",
"type": "enum", "type": "enum",
@ -768,7 +780,7 @@
] ]
}, },
{ {
"hash_key": -2001835059, "hash_key": -1770286225,
"enum_name": "door_hinge", "enum_name": "door_hinge",
"serialized_name": "hinge", "serialized_name": "hinge",
"type": "enum", "type": "enum",
@ -778,7 +790,7 @@
] ]
}, },
{ {
"hash_key": 398721620, "hash_key": 1199489630,
"enum_name": "instrument", "enum_name": "instrument",
"serialized_name": "instrument", "serialized_name": "instrument",
"type": "enum", "type": "enum",
@ -809,7 +821,7 @@
] ]
}, },
{ {
"hash_key": 1933275976, "hash_key": 898954971,
"enum_name": "piston_type", "enum_name": "piston_type",
"serialized_name": "type", "serialized_name": "type",
"type": "enum", "type": "enum",
@ -819,7 +831,7 @@
] ]
}, },
{ {
"hash_key": 873087795, "hash_key": -61647742,
"enum_name": "slab_type", "enum_name": "slab_type",
"serialized_name": "type", "serialized_name": "type",
"type": "enum", "type": "enum",
@ -830,7 +842,7 @@
] ]
}, },
{ {
"hash_key": 1011244390, "hash_key": -1076227495,
"enum_name": "stair_shape", "enum_name": "stair_shape",
"serialized_name": "shape", "serialized_name": "shape",
"type": "enum", "type": "enum",
@ -843,7 +855,7 @@
] ]
}, },
{ {
"hash_key": 916732131, "hash_key": -921463355,
"enum_name": "structure_block_mode", "enum_name": "structure_block_mode",
"serialized_name": "mode", "serialized_name": "mode",
"type": "enum", "type": "enum",
@ -855,7 +867,7 @@
] ]
}, },
{ {
"hash_key": 308052410, "hash_key": -1857657918,
"enum_name": "bamboo_leaves", "enum_name": "bamboo_leaves",
"serialized_name": "leaves", "serialized_name": "leaves",
"type": "enum", "type": "enum",
@ -866,7 +878,7 @@
] ]
}, },
{ {
"hash_key": 1137523819, "hash_key": -1719859086,
"enum_name": "tilt", "enum_name": "tilt",
"serialized_name": "tilt", "serialized_name": "tilt",
"type": "enum", "type": "enum",
@ -878,7 +890,7 @@
] ]
}, },
{ {
"hash_key": 927991866, "hash_key": -1313561836,
"enum_name": "vertical_direction", "enum_name": "vertical_direction",
"serialized_name": "vertical_direction", "serialized_name": "vertical_direction",
"type": "enum", "type": "enum",
@ -888,7 +900,7 @@
] ]
}, },
{ {
"hash_key": -773192484, "hash_key": -1314456624,
"enum_name": "thickness", "enum_name": "thickness",
"serialized_name": "thickness", "serialized_name": "thickness",
"type": "enum", "type": "enum",
@ -901,7 +913,7 @@
] ]
}, },
{ {
"hash_key": -853514466, "hash_key": -176650151,
"enum_name": "sculk_sensor_phase", "enum_name": "sculk_sensor_phase",
"serialized_name": "sculk_sensor_phase", "serialized_name": "sculk_sensor_phase",
"type": "enum", "type": "enum",
@ -912,43 +924,43 @@
] ]
}, },
{ {
"hash_key": -1022489395, "hash_key": 2110930741,
"enum_name": "slot_0_occupied", "enum_name": "slot_0_occupied",
"serialized_name": "slot_0_occupied", "serialized_name": "slot_0_occupied",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1219002900, "hash_key": 1914417236,
"enum_name": "slot_1_occupied", "enum_name": "slot_1_occupied",
"serialized_name": "slot_1_occupied", "serialized_name": "slot_1_occupied",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1415516405, "hash_key": 1717903731,
"enum_name": "slot_2_occupied", "enum_name": "slot_2_occupied",
"serialized_name": "slot_2_occupied", "serialized_name": "slot_2_occupied",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1612029910, "hash_key": 1521390226,
"enum_name": "slot_3_occupied", "enum_name": "slot_3_occupied",
"serialized_name": "slot_3_occupied", "serialized_name": "slot_3_occupied",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1808543415, "hash_key": 1324876721,
"enum_name": "slot_4_occupied", "enum_name": "slot_4_occupied",
"serialized_name": "slot_4_occupied", "serialized_name": "slot_4_occupied",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -2005056920, "hash_key": 1128363216,
"enum_name": "slot_5_occupied", "enum_name": "slot_5_occupied",
"serialized_name": "slot_5_occupied", "serialized_name": "slot_5_occupied",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -1924900958, "hash_key": 1544739980,
"enum_name": "dusted", "enum_name": "dusted",
"serialized_name": "dusted", "serialized_name": "dusted",
"type": "int", "type": "int",
@ -956,19 +968,19 @@
"max": 3 "max": 3
}, },
{ {
"hash_key": 778783224, "hash_key": -382763936,
"enum_name": "cracked", "enum_name": "cracked",
"serialized_name": "cracked", "serialized_name": "cracked",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 1464394721, "hash_key": 302847561,
"enum_name": "crafting", "enum_name": "crafting",
"serialized_name": "crafting", "serialized_name": "crafting",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": -914915143, "hash_key": 638712248,
"enum_name": "trial_spawner_state", "enum_name": "trial_spawner_state",
"serialized_name": "trial_spawner_state", "serialized_name": "trial_spawner_state",
"type": "enum", "type": "enum",
@ -982,7 +994,7 @@
] ]
}, },
{ {
"hash_key": -1540764535, "hash_key": 2099881657,
"enum_name": "vault_state", "enum_name": "vault_state",
"serialized_name": "vault_state", "serialized_name": "vault_state",
"type": "enum", "type": "enum",
@ -994,7 +1006,7 @@
] ]
}, },
{ {
"hash_key": -82121400, "hash_key": -1932448612,
"enum_name": "creaking_heart_state", "enum_name": "creaking_heart_state",
"serialized_name": "creaking_heart_state", "serialized_name": "creaking_heart_state",
"type": "enum", "type": "enum",
@ -1005,13 +1017,13 @@
] ]
}, },
{ {
"hash_key": -1591500023, "hash_key": 1541920113,
"enum_name": "ominous", "enum_name": "ominous",
"serialized_name": "ominous", "serialized_name": "ominous",
"type": "boolean" "type": "boolean"
}, },
{ {
"hash_key": 1475742886, "hash_key": 1458885667,
"enum_name": "test_block_mode", "enum_name": "test_block_mode",
"serialized_name": "mode", "serialized_name": "mode",
"type": "enum", "type": "enum",
@ -1023,9 +1035,21 @@
] ]
}, },
{ {
"hash_key": -246020229, "hash_key": -1407567389,
"enum_name": "map", "enum_name": "map",
"serialized_name": "map", "serialized_name": "map",
"type": "boolean" "type": "boolean"
},
{
"hash_key": -862290331,
"enum_name": "copper_golem_pose",
"serialized_name": "copper_golem_pose",
"type": "enum",
"values": [
"standing",
"sitting",
"running",
"star"
]
} }
] ]

View File

@ -1,7 +1,7 @@
{ {
"968": 967, "1013": 1012,
"969": 967, "1014": 1012,
"973": 967, "1018": 1012,
"1238": 1075, "1285": 1120,
"1308": 1075 "1364": 1120
} }

File diff suppressed because it is too large Load Diff

View File

@ -73,6 +73,7 @@
"item.armor.equip_gold", "item.armor.equip_gold",
"item.armor.equip_iron", "item.armor.equip_iron",
"item.armor.equip_leather", "item.armor.equip_leather",
"item.armor.equip_copper",
"item.armor.equip_netherite", "item.armor.equip_netherite",
"item.armor.equip_turtle", "item.armor.equip_turtle",
"item.armor.equip_wolf", "item.armor.equip_wolf",
@ -354,8 +355,38 @@
"block.copper.place", "block.copper.place",
"block.copper.hit", "block.copper.hit",
"block.copper.fall", "block.copper.fall",
"block.copper_chest.close",
"block.copper_chest.open",
"block.copper_chest_weathered.close",
"block.copper_chest_weathered.open",
"block.copper_chest_oxidized.close",
"block.copper_chest_oxidized.open",
"block.copper_door.close", "block.copper_door.close",
"block.copper_door.open", "block.copper_door.open",
"entity.copper_golem.step",
"entity.copper_golem.hurt",
"entity.copper_golem.death",
"entity.copper_golem_weathered.step",
"entity.copper_golem_weathered.hurt",
"entity.copper_golem_weathered.death",
"entity.copper_golem_oxidized.step",
"entity.copper_golem_oxidized.hurt",
"entity.copper_golem_oxidized.death",
"entity.copper_golem.spin",
"entity.copper_golem_weathered.spin",
"entity.copper_golem_oxidized.spin",
"entity.copper_golem.no_item_get",
"entity.copper_golem.no_item_no_get",
"entity.copper_golem.item_drop",
"entity.copper_golem.item_no_drop",
"entity.copper_golem_become_statue",
"block.copper_golem_statue.break",
"block.copper_golem_statue.place",
"block.copper_golem_statue.hit",
"block.copper_golem_statue.step",
"block.copper_golem_statue.fall",
"entity.copper_golem.spawn",
"entity.copper_golem.shear",
"block.copper_grate.break", "block.copper_grate.break",
"block.copper_grate.step", "block.copper_grate.step",
"block.copper_grate.place", "block.copper_grate.place",
@ -1297,6 +1328,17 @@
"entity.sheep.shear", "entity.sheep.shear",
"entity.sheep.step", "entity.sheep.step",
"item.shears.snip", "item.shears.snip",
"block.shelf.activate",
"block.shelf.break",
"block.shelf.deactivate",
"block.shelf.fall",
"block.shelf.hit",
"block.shelf.multi_swap",
"block.shelf.place",
"block.shelf.place_item",
"block.shelf.single_swap",
"block.shelf.step",
"block.shelf.take_item",
"item.shield.block", "item.shield.block",
"item.shield.break", "item.shield.break",
"block.shroomlight.break", "block.shroomlight.break",
@ -1597,6 +1639,7 @@
"block.hanging_sign.waxed_interact_fail", "block.hanging_sign.waxed_interact_fail",
"block.sign.waxed_interact_fail", "block.sign.waxed_interact_fail",
"block.water.ambient", "block.water.ambient",
"weather.end_flash",
"weather.rain", "weather.rain",
"weather.rain.above", "weather.rain.above",
"block.wet_grass.break", "block.wet_grass.break",

View File

@ -1,84 +1,85 @@
{ {
"1145": "squid", "1138": "cat",
"1104": "ender_dragon", "1162": "horse",
"1116": "horse", "1180": "ravager",
"1150": "tropical_fish", "1168": "mule",
"1099": "creeper", "1199": "villager",
"1153": "villager", "1207": "zoglin",
"1090": "blaze", "1130": "armadillo",
"1161": "zoglin", "1149": "elder_guardian",
"1146": "stray", "1160": "guardian",
"1155": "wandering_trader", "1135": "blaze",
"1162": "creaking", "1212": "zombified_piglin",
"1106": "endermite", "1195": "trader_llama",
"1127": "pig", "1186": "skeleton_horse",
"1103": "elder_guardian", "1145": "creeper",
"1156": "warden", "1142": "cod",
"1132": "pufferfish", "1188": "sniffer",
"1121": "mooshroom", "1136": "bogged",
"1122": "mule", "1197": "turtle",
"1144": "spider", "1154": "fox",
"1131": "polar_bear", "1143": "copper_golem",
"1164": "zombie_horse", "1178": "pufferfish",
"1147": "strider", "1171": "parrot",
"1086": "allay", "1140": "cave_spider",
"1143": "snow_golem", "1156": "ghast",
"1092": "breeze", "1164": "iron_golem",
"1097": "cod", "1172": "phantom",
"1087": "axolotl", "1183": "shulker",
"1137": "shulker", "1184": "silverfish",
"1108": "fox", "1192": "stray",
"1085": "armadillo", "1201": "wandering_trader",
"1114": "guardian", "1204": "wither",
"1140": "skeleton_horse", "1205": "wither_skeleton",
"1136": "sheep", "1173": "pig",
"1111": "happy_ghast", "1210": "zombie_horse",
"1110": "ghast", "1211": "zombie_villager",
"1154": "vindicator", "1165": "llama",
"1094": "camel", "1185": "skeleton",
"1138": "silverfish", "1191": "squid",
"1117": "husk", "1158": "glow_squid",
"1119": "llama", "1161": "hoglin",
"1134": "ravager", "1189": "snow_golem",
"1089": "bee", "1132": "axolotl",
"1107": "evoker", "1169": "ocelot",
"1113": "goat", "1200": "vindicator",
"1124": "panda", "1179": "rabbit",
"1151": "turtle", "1175": "piglin_brute",
"1163": "zombie", "1133": "bat",
"1091": "bogged", "1152": "endermite",
"1125": "parrot", "1209": "zombie",
"1149": "trader_llama", "1182": "sheep",
"1159": "wither_skeleton", "1146": "dolphin",
"1109": "frog", "1194": "tadpole",
"1157": "witch", "1167": "mooshroom",
"1128": "piglin", "1166": "magma_cube",
"1123": "ocelot", "1144": "cow",
"1105": "enderman", "1170": "panda",
"1093": "cat", "1139": "camel",
"1129": "piglin_brute", "1174": "piglin",
"1133": "rabbit", "1177": "polar_bear",
"1135": "salmon", "1203": "witch",
"1165": "zombie_villager", "1181": "salmon",
"1112": "glow_squid", "1137": "breeze",
"1142": "sniffer", "1155": "frog",
"1141": "slime", "1208": "creaking",
"1130": "pillager", "1150": "ender_dragon",
"1148": "tadpole", "1176": "pillager",
"1160": "wolf", "1157": "happy_ghast",
"1101": "donkey", "1141": "chicken",
"1118": "iron_golem", "1196": "tropical_fish",
"1158": "wither", "1187": "slime",
"1126": "phantom", "1163": "husk",
"1152": "vex", "1134": "bee",
"1120": "magma_cube", "1193": "strider",
"1115": "hoglin", "1131": "allay",
"1096": "chicken", "1147": "donkey",
"1166": "zombified_piglin", "1148": "drowned",
"1098": "cow", "1190": "spider",
"1095": "cave_spider", "1198": "vex",
"1139": "skeleton", "1206": "wolf",
"1088": "bat", "1153": "evoker",
"1102": "drowned", "1202": "warden",
"1100": "dolphin" "1151": "enderman",
"1159": "goat"
} }

View File

@ -0,0 +1,41 @@
[
"speed",
"slowness",
"haste",
"mining_fatigue",
"strength",
"instant_health",
"instant_damage",
"jump_boost",
"nausea",
"regeneration",
"resistance",
"fire_resistance",
"water_breathing",
"invisibility",
"blindness",
"night_vision",
"hunger",
"weakness",
"poison",
"wither",
"health_boost",
"absorption",
"saturation",
"glowing",
"levitation",
"luck",
"unluck",
"slow_falling",
"conduit_power",
"dolphins_grace",
"bad_omen",
"hero_of_the_village",
"darkness",
"trial_omen",
"raid_omen",
"wind_charged",
"weaving",
"oozing",
"infested"
]

View File

@ -1845,6 +1845,9 @@
}, },
"copper": { "copper": {
"asset_name": "copper", "asset_name": "copper",
"override_armor_assets": {
"minecraft:copper": "copper_darker"
},
"description": { "description": {
"translate": "trim_material.minecraft.copper", "translate": "trim_material.minecraft.copper",
"color": "#B4684D" "color": "#B4684D"
@ -2828,14 +2831,10 @@
}, },
"the_end": { "the_end": {
"effects": "minecraft:the_end", "effects": "minecraft:the_end",
"ambient_light": 0.0, "ambient_light": 0.25,
"piglin_safe": false, "piglin_safe": false,
"has_raids": true, "has_raids": true,
"monster_spawn_light_level": { "monster_spawn_light_level": 15,
"min_inclusive": 0,
"max_inclusive": 7,
"type": "minecraft:uniform"
},
"monster_spawn_block_light_limit": 0, "monster_spawn_block_light_limit": 0,
"min_y": 0, "min_y": 0,
"height": 256, "height": 256,
@ -2846,7 +2845,7 @@
"bed_works": false, "bed_works": false,
"respawn_anchor_works": false, "respawn_anchor_works": false,
"fixed_time": 6000, "fixed_time": 6000,
"has_skylight": false, "has_skylight": true,
"has_ceiling": false, "has_ceiling": false,
"ultrawarm": false "ultrawarm": false
}, },
@ -3592,13 +3591,12 @@
}, },
{ {
"predicate": { "predicate": {
"block": {
"blocks": "#minecraft:lightning_rods"
},
"can_see_sky": true "can_see_sky": true
}, },
"condition": "minecraft:location_check" "condition": "minecraft:location_check"
},
{
"block": "minecraft:lightning_rod",
"condition": "minecraft:block_state_property"
} }
], ],
"condition": "minecraft:all_of" "condition": "minecraft:all_of"
@ -5371,15 +5369,16 @@
"enchanted": "attacker", "enchanted": "attacker",
"affected": "attacker", "affected": "attacker",
"effect": { "effect": {
"small_particle": {
"type": "minecraft:gust_emitter_small"
},
"large_particle": { "large_particle": {
"type": "minecraft:gust_emitter_large" "type": "minecraft:gust_emitter_large"
}, },
"sound": "minecraft:entity.wind_charge.wind_burst", "sound": "minecraft:entity.wind_charge.wind_burst",
"radius": 3.5,
"block_interaction": "trigger", "block_interaction": "trigger",
"small_particle": {
"type": "minecraft:gust_emitter_small"
},
"immune_blocks": "#minecraft:blocks_wind_charge_explosions",
"radius": 3.5,
"knockback_multiplier": { "knockback_multiplier": {
"values": [ "values": [
1.2, 1.2,
@ -5393,7 +5392,6 @@
}, },
"type": "minecraft:lookup" "type": "minecraft:lookup"
}, },
"immune_blocks": "#minecraft:blocks_wind_charge_explosions",
"type": "minecraft:explode" "type": "minecraft:explode"
}, },
"requirements": { "requirements": {

File diff suppressed because it is too large Load Diff

View File

@ -43,6 +43,7 @@ pub(crate) fn parse_packets(packets: BTreeMap<String, Vec<String>>) -> proc_macr
for (id, packet_name) in packet.1.iter().enumerate() { for (id, packet_name) in packet.1.iter().enumerate() {
let packet_id = id as i32; let packet_id = id as i32;
let packet_name = packet_name.replace("/", "_");
let name = format!("{phase}_{packet_name}").to_uppercase(); let name = format!("{phase}_{packet_name}").to_uppercase();
let name = format_ident!("{}", name); let name = format_ident!("{}", name);
consts.extend([quote! { consts.extend([quote! {

View File

@ -10,5 +10,6 @@ pub mod var_int;
pub mod var_long; pub mod var_long;
pub mod var_uint; pub mod var_uint;
pub mod var_ulong; pub mod var_ulong;
pub mod velocity;
pub use u24_type::u24; pub use u24_type::u24;

View File

@ -0,0 +1,64 @@
use pumpkin_util::math::vector3::Vector3;
use crate::VarInt;
use serde::{Serialize, ser::Serializer};
#[derive(Clone, Copy)]
pub struct Velocity(pub Vector3<f64>);
fn clamp_value(value: f64) -> f64 {
if value.is_nan() {
return 0.0;
}
value.clamp(-1.7179869183E10, 1.7179869183E10)
}
fn abs_max(a: f64, b: f64) -> f64 {
a.abs().max(b.abs())
}
fn to_long(value: f64) -> i64 {
((value * 0.5 + 0.5) * 32766.0).round() as i64
}
impl Serialize for Velocity {
fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
let mut buf = Vec::new();
let velocity = self.0;
let d = clamp_value(velocity.x);
let e = clamp_value(velocity.y);
let f = clamp_value(velocity.z);
let g = abs_max(d, abs_max(e, f));
if g < 0.00003051944088384301 {
buf.push(0u8);
return serializer.serialize_bytes(&buf);
}
let l = g.ceil() as i64;
let bl = l > 3;
let m = if bl { l & 3 | 4 } else { l };
let n: i64 = to_long(d / l as f64) << 3;
let o: i64 = to_long(e / l as f64) << 18;
let p: i64 = to_long(f / l as f64) << 33;
let q: i64 = m | n | o | p;
buf.push(q as u8);
buf.push((q >> 8) as u8);
// This writes 4 bytes (an i32) for the remaining 48 bits of the i64 (q)
// Note: The Java logic is slightly unusual here, using only 6 bytes total (1+1+4)
// We write the remaining 32 bits of the 64-bit value 'q' as an i32 (4 bytes).
// Since we already used 2 bytes (0-15), we need 4 more bytes (16-47)
buf.extend_from_slice(&((q >> 16) as i32).to_le_bytes());
if bl {
VarInt::encode(&VarInt((l >> 2) as i32), &mut buf).unwrap();
}
serializer.serialize_bytes(&buf)
}
}

View File

@ -3,24 +3,20 @@ use pumpkin_macros::packet;
use pumpkin_util::math::vector3::Vector3; use pumpkin_util::math::vector3::Vector3;
use serde::Serialize; use serde::Serialize;
use crate::VarInt; use crate::{VarInt, codec::velocity::Velocity};
#[derive(Serialize)] #[derive(Serialize)]
#[packet(PLAY_SET_ENTITY_MOTION)] #[packet(PLAY_SET_ENTITY_MOTION)]
pub struct CEntityVelocity { pub struct CEntityVelocity {
pub entity_id: VarInt, pub entity_id: VarInt,
pub velocity: Vector3<i16>, pub velocity: Velocity,
} }
impl CEntityVelocity { impl CEntityVelocity {
pub fn new(entity_id: VarInt, velocity: Vector3<f64>) -> Self { pub fn new(entity_id: VarInt, velocity: Vector3<f64>) -> Self {
Self { Self {
entity_id, entity_id,
velocity: Vector3::new( velocity: Velocity(velocity),
(velocity.x.clamp(-3.9, 3.9) * 8000.0) as i16,
(velocity.y.clamp(-3.9, 3.9) * 8000.0) as i16,
(velocity.z.clamp(-3.9, 3.9) * 8000.0) as i16,
),
} }
} }
} }

View File

@ -3,7 +3,7 @@ use pumpkin_macros::packet;
use pumpkin_util::math::vector3::Vector3; use pumpkin_util::math::vector3::Vector3;
use serde::Serialize; use serde::Serialize;
use crate::VarInt; use crate::{VarInt, codec::velocity::Velocity};
#[derive(Serialize)] #[derive(Serialize)]
#[packet(PLAY_ADD_ENTITY)] #[packet(PLAY_ADD_ENTITY)]
@ -13,11 +13,11 @@ pub struct CSpawnEntity {
pub entity_uuid: uuid::Uuid, pub entity_uuid: uuid::Uuid,
pub r#type: VarInt, pub r#type: VarInt,
pub position: Vector3<f64>, pub position: Vector3<f64>,
pub velocity: Velocity,
pub pitch: u8, // angle pub pitch: u8, // angle
pub yaw: u8, // angle pub yaw: u8, // angle
pub head_yaw: u8, // angle pub head_yaw: u8, // angle
pub data: VarInt, pub data: VarInt,
pub velocity: Vector3<i16>,
} }
impl CSpawnEntity { impl CSpawnEntity {
@ -42,11 +42,7 @@ impl CSpawnEntity {
yaw: (yaw * 256.0 / 360.0).floor() as u8, yaw: (yaw * 256.0 / 360.0).floor() as u8,
head_yaw: (head_yaw * 256.0 / 360.0).floor() as u8, head_yaw: (head_yaw * 256.0 / 360.0).floor() as u8,
data, data,
velocity: Vector3::new( velocity: Velocity(velocity),
(velocity.x.clamp(-3.9, 3.9) * 8000.0) as i16,
(velocity.y.clamp(-3.9, 3.9) * 8000.0) as i16,
(velocity.z.clamp(-3.9, 3.9) * 8000.0) as i16,
),
} }
} }
} }

View File

@ -37,8 +37,8 @@ pub const CHUNK_COUNT: usize = REGION_SIZE * REGION_SIZE;
/// The number of bytes in a sector (4 KiB) /// The number of bytes in a sector (4 KiB)
const SECTOR_BYTES: usize = 4096; const SECTOR_BYTES: usize = 4096;
// 1.21.8 // 1.21.9
pub const WORLD_DATA_VERSION: i32 = 4438; pub const WORLD_DATA_VERSION: i32 = 4554;
#[derive(Clone, Default)] #[derive(Clone, Default)]
pub struct AnvilChunkFormat; pub struct AnvilChunkFormat;

View File

@ -22,7 +22,7 @@ pub mod world_info;
pub type BlockId = u16; pub type BlockId = u16;
pub type BlockStateId = u16; pub type BlockStateId = u16;
pub const CURRENT_MC_VERSION: &str = "1.21.8"; pub const CURRENT_MC_VERSION: &str = "1.21.9";
pub const CURRENT_BEDROCK_MC_VERSION: &str = "1.21.100"; pub const CURRENT_BEDROCK_MC_VERSION: &str = "1.21.100";
#[macro_export] #[macro_export]

View File

@ -252,7 +252,6 @@ mod test {
send_command_feedback: true, send_command_feedback: true,
show_death_messages: true, show_death_messages: true,
snow_accumulation_height: 1, snow_accumulation_height: 1,
spawn_chunk_radius: 2,
spawn_radius: 10, spawn_radius: 10,
spectators_generate_chunks: true, spectators_generate_chunks: true,
tnt_explosion_drop_decay: false, tnt_explosion_drop_decay: false,

View File

@ -12,11 +12,11 @@ use thiserror::Error;
pub mod anvil; pub mod anvil;
// Constraint: disk biome palette serialization changed in 1.21.5 // Constraint: disk biome palette serialization changed in 1.21.5
pub const MINIMUM_SUPPORTED_WORLD_DATA_VERSION: i32 = 4435; // 1.21.8 pub const MINIMUM_SUPPORTED_WORLD_DATA_VERSION: i32 = 4435; // 1.21.9
pub const MAXIMUM_SUPPORTED_WORLD_DATA_VERSION: i32 = 4438; // 1.21.8 pub const MAXIMUM_SUPPORTED_WORLD_DATA_VERSION: i32 = 4554; // 1.21.9
pub const MINIMUM_SUPPORTED_LEVEL_VERSION: i32 = 19132; // 1.21.8 pub const MINIMUM_SUPPORTED_LEVEL_VERSION: i32 = 19132; // 1.21.9
pub const MAXIMUM_SUPPORTED_LEVEL_VERSION: i32 = 19133; // 1.21.8 pub const MAXIMUM_SUPPORTED_LEVEL_VERSION: i32 = 19133; // 1.21.9
pub trait WorldInfoReader { pub trait WorldInfoReader {
fn read_world_info(&self, level_folder: &Path) -> Result<LevelData, WorldInfoError>; fn read_world_info(&self, level_folder: &Path) -> Result<LevelData, WorldInfoError>;

View File

@ -6,13 +6,14 @@ use pumpkin_data::block_properties::BlockProperties;
use pumpkin_macros::pumpkin_block; use pumpkin_macros::pumpkin_block;
use pumpkin_world::BlockStateId; use pumpkin_world::BlockStateId;
#[pumpkin_block("minecraft:chain")] #[pumpkin_block("minecraft:iron_chain")]
pub struct ChainBlock; pub struct ChainBlock;
#[async_trait] #[async_trait]
impl BlockBehaviour for ChainBlock { impl BlockBehaviour for ChainBlock {
async fn on_place(&self, args: OnPlaceArgs<'_>) -> BlockStateId { async fn on_place(&self, args: OnPlaceArgs<'_>) -> BlockStateId {
let mut props = pumpkin_data::block_properties::ChainLikeProperties::default(args.block); let mut props =
pumpkin_data::block_properties::IronChainLikeProperties::default(args.block);
props.r#waterlogged = args.replacing.water_source(); props.r#waterlogged = args.replacing.water_source();
props.r#axis = match args.direction { props.r#axis = match args.direction {
BlockDirection::East | BlockDirection::West => Axis::X, BlockDirection::East | BlockDirection::West => Axis::X,

View File

@ -68,9 +68,7 @@ use pumpkin_util::text::hover::HoverEvent;
use pumpkin_util::{GameMode, Hand}; use pumpkin_util::{GameMode, Hand};
use pumpkin_world::biome; use pumpkin_world::biome;
use pumpkin_world::cylindrical_chunk_iterator::Cylindrical; use pumpkin_world::cylindrical_chunk_iterator::Cylindrical;
use pumpkin_world::entity::entity_data_flags::{ use pumpkin_world::entity::entity_data_flags::SLEEPING_POS_ID;
DATA_PLAYER_MAIN_HAND, DATA_PLAYER_MODE_CUSTOMISATION, SLEEPING_POS_ID,
};
use pumpkin_world::item::ItemStack; use pumpkin_world::item::ItemStack;
use pumpkin_world::level::{SyncChunk, SyncEntityChunk}; use pumpkin_world::level::{SyncChunk, SyncEntityChunk};
@ -97,7 +95,7 @@ use pumpkin_data::potion::Effect;
const MAX_CACHED_SIGNATURES: u8 = 128; // Vanilla: 128 const MAX_CACHED_SIGNATURES: u8 = 128; // Vanilla: 128
const MAX_PREVIOUS_MESSAGES: u8 = 20; // Vanilla: 20 const MAX_PREVIOUS_MESSAGES: u8 = 20; // Vanilla: 20
pub const DATA_VERSION: i32 = 4438; // 1.21.8 pub const DATA_VERSION: i32 = 4554; // 1.21.9
enum BatchState { enum BatchState {
Initial, Initial,
@ -1381,23 +1379,24 @@ impl Player {
} }
/// Send the player's skin layers and used hand to all players. /// Send the player's skin layers and used hand to all players.
pub async fn send_client_information(&self) { pub fn send_client_information(&self) {
let config = self.config.read().await; //let config = self.config.read().await;
self.living_entity // TODO
.entity // self.living_entity
.send_meta_data(&[ // .entity
Metadata::new( // .send_meta_data(&[
DATA_PLAYER_MODE_CUSTOMISATION, // Metadata::new(
MetaDataType::Byte, // DATA_PLAYER_MODE_CUSTOMISATION,
config.skin_parts, // MetaDataType::Byte,
), // config.skin_parts,
Metadata::new( // ),
DATA_PLAYER_MAIN_HAND, // Metadata::new(
MetaDataType::Byte, // DATA_PLAYER_MAIN_HAND,
config.main_hand as u8, // MetaDataType::Byte,
), // config.main_hand as u8,
]) // ),
.await; // ])
// .await;
} }
pub async fn can_harvest(&self, state: &BlockState, block: &'static Block) -> bool { pub async fn can_harvest(&self, state: &BlockState, block: &'static Block) -> bool {

View File

@ -384,7 +384,7 @@ impl JavaClient {
self.send_packet_now(&CKnownPacks::new(&[KnownPack { self.send_packet_now(&CKnownPacks::new(&[KnownPack {
namespace: "minecraft", namespace: "minecraft",
id: "core", id: "core",
version: "1.21.8", version: "1.21.9",
}])) }]))
.await; .await;
} }

View File

@ -1023,7 +1023,7 @@ impl JavaClient {
player.gameprofile.name, player.gameprofile.name,
self.id, self.id,
); );
player.send_client_information().await; player.send_client_information();
} }
} else { } else {
self.kick(TextComponent::text("Invalid hand or chat type")) self.kick(TextComponent::text("Invalid hand or chat type"))

View File

@ -35,7 +35,6 @@ use crate::{
use crate::{block::BlockEvent, entity::item::ItemEntity}; use crate::{block::BlockEvent, entity::item::ItemEntity};
use async_trait::async_trait; use async_trait::async_trait;
use border::Worldborder; use border::Worldborder;
use bytes::BufMut;
use explosion::Explosion; use explosion::Explosion;
use pumpkin_config::BasicConfiguration; use pumpkin_config::BasicConfiguration;
use pumpkin_data::data_component_impl::EquipmentSlot; use pumpkin_data::data_component_impl::EquipmentSlot;
@ -55,6 +54,7 @@ use pumpkin_macros::send_cancellable;
use pumpkin_nbt::{compound::NbtCompound, to_bytes_unnamed}; use pumpkin_nbt::{compound::NbtCompound, to_bytes_unnamed};
use pumpkin_protocol::bedrock::client::chunk_radius_update::CChunkRadiusUpdate; use pumpkin_protocol::bedrock::client::chunk_radius_update::CChunkRadiusUpdate;
use pumpkin_protocol::bedrock::client::network_chunk_publisher_update::CNetworkChunkPublisherUpdate; use pumpkin_protocol::bedrock::client::network_chunk_publisher_update::CNetworkChunkPublisherUpdate;
use pumpkin_protocol::bedrock::client::start_game::CStartGame;
use pumpkin_protocol::bedrock::frame_set::FrameSet; use pumpkin_protocol::bedrock::frame_set::FrameSet;
use pumpkin_protocol::{ use pumpkin_protocol::{
BClientPacket, ClientPacket, IdOr, SoundEvent, BClientPacket, ClientPacket, IdOr, SoundEvent,
@ -83,12 +83,9 @@ use pumpkin_protocol::{
server::play::SChatMessage, server::play::SChatMessage,
}, },
}; };
use pumpkin_protocol::{bedrock::client::start_game::CStartGame, ser::serializer::Serializer};
use pumpkin_protocol::{ use pumpkin_protocol::{
codec::item_stack_seralizer::ItemStackSerializer, codec::item_stack_seralizer::ItemStackSerializer,
java::client::play::{ java::client::play::{CBlockEvent, CRemoveMobEffect, CSetEquipment},
CBlockEvent, CRemoveMobEffect, CSetEntityMetadata, CSetEquipment, MetaDataType, Metadata,
},
}; };
use pumpkin_protocol::{ use pumpkin_protocol::{
codec::var_int::VarInt, codec::var_int::VarInt,
@ -108,22 +105,18 @@ use pumpkin_util::{
math::{position::chunk_section_from_pos, vector2::Vector2}, math::{position::chunk_section_from_pos, vector2::Vector2},
random::{RandomImpl, get_seed, xoroshiro128::Xoroshiro}, random::{RandomImpl, get_seed, xoroshiro128::Xoroshiro},
}; };
use pumpkin_world::world::GetBlockError;
use pumpkin_world::{ use pumpkin_world::{
BlockStateId, CURRENT_BEDROCK_MC_VERSION, GENERATION_SETTINGS, GeneratorSetting, biome, BlockStateId, CURRENT_BEDROCK_MC_VERSION, GENERATION_SETTINGS, GeneratorSetting, biome,
block::entities::BlockEntity, chunk::io::Dirtiable, inventory::Inventory, item::ItemStack, block::entities::BlockEntity, chunk::io::Dirtiable, inventory::Inventory, item::ItemStack,
world::SimpleWorld, world::SimpleWorld,
}; };
use pumpkin_world::{chunk::ChunkData, world::BlockAccessor}; use pumpkin_world::{chunk::ChunkData, world::BlockAccessor};
use pumpkin_world::{
entity::entity_data_flags::{DATA_PLAYER_MAIN_HAND, DATA_PLAYER_MODE_CUSTOMISATION},
world::GetBlockError,
};
use pumpkin_world::{level::Level, tick::TickPriority}; use pumpkin_world::{level::Level, tick::TickPriority};
use pumpkin_world::{world::BlockFlags, world_info::LevelData}; use pumpkin_world::{world::BlockFlags, world_info::LevelData};
use rand::seq::SliceRandom; use rand::seq::SliceRandom;
use rand::{Rng, rng}; use rand::{Rng, rng};
use scoreboard::Scoreboard; use scoreboard::Scoreboard;
use serde::Serialize;
use time::LevelTime; use time::LevelTime;
use tokio::sync::Mutex; use tokio::sync::Mutex;
use tokio::sync::RwLock; use tokio::sync::RwLock;
@ -1571,35 +1564,36 @@ impl World {
)) ))
.await; .await;
{ {
let config = existing_player.config.read().await; // TODO
let mut buf = Vec::new(); // let config = existing_player.config.read().await;
for meta in [ // let mut buf = Vec::new();
Metadata::new( // for meta in [
DATA_PLAYER_MODE_CUSTOMISATION, // Metadata::new(
MetaDataType::Byte, // DATA_PLAYER_MODE_CUSTOMISATION,
config.skin_parts, // MetaDataType::Byte,
), // config.skin_parts,
Metadata::new( // ),
DATA_PLAYER_MAIN_HAND, // Metadata::new(
MetaDataType::Byte, // DATA_PLAYER_MAIN_HAND,
config.main_hand as u8, // MetaDataType::Byte,
), // config.main_hand as u8,
] { // ),
let mut serializer_buf = Vec::new(); // ] {
// let mut serializer_buf = Vec::new();
let mut serializer = Serializer::new(&mut serializer_buf); // let mut serializer = Serializer::new(&mut serializer_buf);
meta.serialize(&mut serializer).unwrap(); // meta.serialize(&mut serializer).unwrap();
buf.extend(serializer_buf); // buf.extend(serializer_buf);
} // }
drop(config); // drop(config);
// END // // END
buf.put_u8(255); // buf.put_u8(255);
client // client
.enqueue_packet(&CSetEntityMetadata::new( // .enqueue_packet(&CSetEntityMetadata::new(
existing_player.get_entity().entity_id.into(), // existing_player.get_entity().entity_id.into(),
buf.into(), // buf.into(),
)) // ))
.await; // .await;
}; };
{ {
@ -1634,7 +1628,7 @@ impl World {
.await; .await;
} }
} }
player.send_client_information().await; player.send_client_information();
// Sync selected slot // Sync selected slot
player player
@ -1752,7 +1746,7 @@ impl World {
), ),
) )
.await; .await;
player.send_client_information().await; player.send_client_information();
chunker::update_position(player).await; chunker::update_position(player).await;
// Update commands // Update commands