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

View File

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

View File

@ -5,7 +5,7 @@
![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)
[![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>

View File

@ -5860,7 +5860,6 @@
"minecraft:mushroom_island_vegetation",
"minecraft:brown_mushroom_taiga",
"minecraft:red_mushroom_taiga",
"minecraft:patch_pumpkin",
"minecraft:patch_sugar_cane",
"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",
"depth": "minecraft:overworld_amplified/depth",
"ridges": "minecraft:overworld/ridges",
"initial_density_without_jaggedness": {
"preliminary_surface_level": {
"density": {
"argument1": -0.390625,
"argument2": {
"argument1": 0.4,
"argument2": {
"argument1": {
@ -302,7 +305,20 @@
"argument1": 4.0,
"argument2": {
"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": {
"argument": "minecraft:overworld_amplified/factor",
"type": "minecraft:cache_2d"
@ -331,6 +347,47 @@
},
"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": {
"noise": "minecraft:aquifer_lava",
"xz_scale": 1.0,
@ -2611,7 +2668,7 @@
"erosion": 0.0,
"depth": 0.0,
"ridges": 0.0,
"initial_density_without_jaggedness": 0.0,
"preliminary_surface_level": 0.0,
"lava": 0.0,
"temperature": {
"xz_scale": 0.25,
@ -4890,52 +4947,7 @@
},
"depth": 0.0,
"ridges": 0.0,
"initial_density_without_jaggedness": {
"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"
},
"preliminary_surface_level": 0.0,
"lava": 0.0,
"temperature": 0.0,
"vegetation": 0.0,
@ -5030,7 +5042,7 @@
"erosion": 0.0,
"depth": 0.0,
"ridges": 0.0,
"initial_density_without_jaggedness": 0.0,
"preliminary_surface_level": 0.0,
"lava": 0.0,
"temperature": {
"xz_scale": 0.25,
@ -7468,7 +7480,10 @@
"erosion": "minecraft:overworld_large_biomes/erosion",
"depth": "minecraft:overworld_large_biomes/depth",
"ridges": "minecraft:overworld/ridges",
"initial_density_without_jaggedness": {
"preliminary_surface_level": {
"density": {
"argument1": -0.390625,
"argument2": {
"argument1": 0.1171875,
"argument2": {
"argument1": {
@ -7499,7 +7514,20 @@
"argument1": 4.0,
"argument2": {
"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": {
"argument": "minecraft:overworld_large_biomes/factor",
"type": "minecraft:cache_2d"
@ -7528,6 +7556,47 @@
},
"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": {
"noise": "minecraft:aquifer_lava",
"xz_scale": 1.0,
@ -9808,7 +9877,7 @@
"erosion": 0.0,
"depth": 0.0,
"ridges": 0.0,
"initial_density_without_jaggedness": 0.0,
"preliminary_surface_level": 0.0,
"lava": 0.0,
"temperature": {
"xz_scale": 0.25,
@ -10747,7 +10816,10 @@
"erosion": "minecraft:overworld/erosion",
"depth": "minecraft:overworld/depth",
"ridges": "minecraft:overworld/ridges",
"initial_density_without_jaggedness": {
"preliminary_surface_level": {
"density": {
"argument1": -0.390625,
"argument2": {
"argument1": 0.1171875,
"argument2": {
"argument1": {
@ -10778,7 +10850,20 @@
"argument1": 4.0,
"argument2": {
"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": {
"argument": "minecraft:overworld/factor",
"type": "minecraft:cache_2d"
@ -10807,6 +10892,47 @@
},
"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": {
"noise": "minecraft:aquifer_lava",
"xz_scale": 1.0,

View File

@ -1,117 +1,117 @@
{
"381": 0.5,
"211": 0.3,
"209": 0.3,
"1178": 0.65,
"192": 0.5,
"208": 0.3,
"253": 0.5,
"204": 0.3,
"1177": 0.65,
"1357": 0.3,
"526": 0.65,
"524": 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,
"53": 0.3,
"376": 0.65,
"250": 0.65,
"259": 0.3,
"231": 0.65,
"191": 0.3,
"236": 0.65,
"1283": 0.3,
"1106": 0.5,
"265": 0.65,
"341": 0.3,
"208": 0.3,
"143": 0.3,
"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,
"54": 0.3,
"394": 0.65,
"253": 0.5,
"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,
"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": "movement_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.speed",
"baseValue": 0.20000000298023224,
"operation": "ADD_MULTIPLIED_TOTAL"
"baseValue": 0.20000000298023224
}
]
},
@ -21,9 +21,9 @@
"attribute_modifiers": [
{
"attribute": "movement_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.slowness",
"baseValue": -0.15000000596046448,
"operation": "ADD_MULTIPLIED_TOTAL"
"baseValue": -0.15000000596046448
}
]
},
@ -35,9 +35,9 @@
"attribute_modifiers": [
{
"attribute": "attack_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.haste",
"baseValue": 0.10000000149011612,
"operation": "ADD_MULTIPLIED_TOTAL"
"baseValue": 0.10000000149011612
}
]
},
@ -49,9 +49,9 @@
"attribute_modifiers": [
{
"attribute": "attack_speed",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.mining_fatigue",
"baseValue": -0.10000000149011612,
"operation": "ADD_MULTIPLIED_TOTAL"
"baseValue": -0.10000000149011612
}
]
},
@ -63,9 +63,9 @@
"attribute_modifiers": [
{
"attribute": "attack_damage",
"operation": "ADD_VALUE",
"id": "minecraft:effect.strength",
"baseValue": 3.0,
"operation": "ADD_VALUE"
"baseValue": 3.0
}
]
},
@ -91,9 +91,9 @@
"attribute_modifiers": [
{
"attribute": "safe_fall_distance",
"operation": "ADD_VALUE",
"id": "minecraft:effect.jump_boost",
"baseValue": 1.0,
"operation": "ADD_VALUE"
"baseValue": 1.0
}
]
},
@ -143,9 +143,9 @@
"attribute_modifiers": [
{
"attribute": "waypoint_transmit_range",
"operation": "ADD_MULTIPLIED_TOTAL",
"id": "minecraft:effect.waypoint_transmit_range_hide",
"baseValue": -1.0,
"operation": "ADD_MULTIPLIED_TOTAL"
"baseValue": -1.0
}
]
},
@ -178,9 +178,9 @@
"attribute_modifiers": [
{
"attribute": "attack_damage",
"operation": "ADD_VALUE",
"id": "minecraft:effect.weakness",
"baseValue": -4.0,
"operation": "ADD_VALUE"
"baseValue": -4.0
}
]
},
@ -206,9 +206,9 @@
"attribute_modifiers": [
{
"attribute": "max_health",
"operation": "ADD_VALUE",
"id": "minecraft:effect.health_boost",
"baseValue": 4.0,
"operation": "ADD_VALUE"
"baseValue": 4.0
}
]
},
@ -220,9 +220,9 @@
"attribute_modifiers": [
{
"attribute": "max_absorption",
"operation": "ADD_VALUE",
"id": "minecraft:effect.absorption",
"baseValue": 4.0,
"operation": "ADD_VALUE"
"baseValue": 4.0
}
]
},
@ -255,9 +255,9 @@
"attribute_modifiers": [
{
"attribute": "luck",
"operation": "ADD_VALUE",
"id": "minecraft:effect.luck",
"baseValue": 1.0,
"operation": "ADD_VALUE"
"baseValue": 1.0
}
]
},
@ -269,9 +269,9 @@
"attribute_modifiers": [
{
"attribute": "luck",
"operation": "ADD_VALUE",
"id": "minecraft:effect.unluck",
"baseValue": -1.0,
"operation": "ADD_VALUE"
"baseValue": -1.0
}
]
},

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

@ -1,84 +1,85 @@
{
"1145": "squid",
"1104": "ender_dragon",
"1116": "horse",
"1150": "tropical_fish",
"1099": "creeper",
"1153": "villager",
"1090": "blaze",
"1161": "zoglin",
"1146": "stray",
"1155": "wandering_trader",
"1162": "creaking",
"1106": "endermite",
"1127": "pig",
"1103": "elder_guardian",
"1156": "warden",
"1132": "pufferfish",
"1121": "mooshroom",
"1122": "mule",
"1144": "spider",
"1131": "polar_bear",
"1164": "zombie_horse",
"1147": "strider",
"1086": "allay",
"1143": "snow_golem",
"1092": "breeze",
"1097": "cod",
"1087": "axolotl",
"1137": "shulker",
"1108": "fox",
"1085": "armadillo",
"1114": "guardian",
"1140": "skeleton_horse",
"1136": "sheep",
"1111": "happy_ghast",
"1110": "ghast",
"1154": "vindicator",
"1094": "camel",
"1138": "silverfish",
"1117": "husk",
"1119": "llama",
"1134": "ravager",
"1089": "bee",
"1107": "evoker",
"1113": "goat",
"1124": "panda",
"1151": "turtle",
"1163": "zombie",
"1091": "bogged",
"1125": "parrot",
"1149": "trader_llama",
"1159": "wither_skeleton",
"1109": "frog",
"1157": "witch",
"1128": "piglin",
"1123": "ocelot",
"1105": "enderman",
"1093": "cat",
"1129": "piglin_brute",
"1133": "rabbit",
"1135": "salmon",
"1165": "zombie_villager",
"1112": "glow_squid",
"1142": "sniffer",
"1141": "slime",
"1130": "pillager",
"1148": "tadpole",
"1160": "wolf",
"1101": "donkey",
"1118": "iron_golem",
"1158": "wither",
"1126": "phantom",
"1152": "vex",
"1120": "magma_cube",
"1115": "hoglin",
"1096": "chicken",
"1166": "zombified_piglin",
"1098": "cow",
"1095": "cave_spider",
"1139": "skeleton",
"1088": "bat",
"1102": "drowned",
"1100": "dolphin"
"1138": "cat",
"1162": "horse",
"1180": "ravager",
"1168": "mule",
"1199": "villager",
"1207": "zoglin",
"1130": "armadillo",
"1149": "elder_guardian",
"1160": "guardian",
"1135": "blaze",
"1212": "zombified_piglin",
"1195": "trader_llama",
"1186": "skeleton_horse",
"1145": "creeper",
"1142": "cod",
"1188": "sniffer",
"1136": "bogged",
"1197": "turtle",
"1154": "fox",
"1143": "copper_golem",
"1178": "pufferfish",
"1171": "parrot",
"1140": "cave_spider",
"1156": "ghast",
"1164": "iron_golem",
"1172": "phantom",
"1183": "shulker",
"1184": "silverfish",
"1192": "stray",
"1201": "wandering_trader",
"1204": "wither",
"1205": "wither_skeleton",
"1173": "pig",
"1210": "zombie_horse",
"1211": "zombie_villager",
"1165": "llama",
"1185": "skeleton",
"1191": "squid",
"1158": "glow_squid",
"1161": "hoglin",
"1189": "snow_golem",
"1132": "axolotl",
"1169": "ocelot",
"1200": "vindicator",
"1179": "rabbit",
"1175": "piglin_brute",
"1133": "bat",
"1152": "endermite",
"1209": "zombie",
"1182": "sheep",
"1146": "dolphin",
"1194": "tadpole",
"1167": "mooshroom",
"1166": "magma_cube",
"1144": "cow",
"1170": "panda",
"1139": "camel",
"1174": "piglin",
"1177": "polar_bear",
"1203": "witch",
"1181": "salmon",
"1137": "breeze",
"1155": "frog",
"1208": "creaking",
"1150": "ender_dragon",
"1176": "pillager",
"1157": "happy_ghast",
"1141": "chicken",
"1196": "tropical_fish",
"1187": "slime",
"1163": "husk",
"1134": "bee",
"1193": "strider",
"1131": "allay",
"1147": "donkey",
"1148": "drowned",
"1190": "spider",
"1198": "vex",
"1206": "wolf",
"1153": "evoker",
"1202": "warden",
"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": {
"asset_name": "copper",
"override_armor_assets": {
"minecraft:copper": "copper_darker"
},
"description": {
"translate": "trim_material.minecraft.copper",
"color": "#B4684D"
@ -2828,14 +2831,10 @@
},
"the_end": {
"effects": "minecraft:the_end",
"ambient_light": 0.0,
"ambient_light": 0.25,
"piglin_safe": false,
"has_raids": true,
"monster_spawn_light_level": {
"min_inclusive": 0,
"max_inclusive": 7,
"type": "minecraft:uniform"
},
"monster_spawn_light_level": 15,
"monster_spawn_block_light_limit": 0,
"min_y": 0,
"height": 256,
@ -2846,7 +2845,7 @@
"bed_works": false,
"respawn_anchor_works": false,
"fixed_time": 6000,
"has_skylight": false,
"has_skylight": true,
"has_ceiling": false,
"ultrawarm": false
},
@ -3592,13 +3591,12 @@
},
{
"predicate": {
"block": {
"blocks": "#minecraft:lightning_rods"
},
"can_see_sky": true
},
"condition": "minecraft:location_check"
},
{
"block": "minecraft:lightning_rod",
"condition": "minecraft:block_state_property"
}
],
"condition": "minecraft:all_of"
@ -5371,15 +5369,16 @@
"enchanted": "attacker",
"affected": "attacker",
"effect": {
"small_particle": {
"type": "minecraft:gust_emitter_small"
},
"large_particle": {
"type": "minecraft:gust_emitter_large"
},
"sound": "minecraft:entity.wind_charge.wind_burst",
"radius": 3.5,
"block_interaction": "trigger",
"small_particle": {
"type": "minecraft:gust_emitter_small"
},
"immune_blocks": "#minecraft:blocks_wind_charge_explosions",
"radius": 3.5,
"knockback_multiplier": {
"values": [
1.2,
@ -5393,7 +5392,6 @@
},
"type": "minecraft:lookup"
},
"immune_blocks": "#minecraft:blocks_wind_charge_explosions",
"type": "minecraft:explode"
},
"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() {
let packet_id = id as i32;
let packet_name = packet_name.replace("/", "_");
let name = format!("{phase}_{packet_name}").to_uppercase();
let name = format_ident!("{}", name);
consts.extend([quote! {

View File

@ -10,5 +10,6 @@ pub mod var_int;
pub mod var_long;
pub mod var_uint;
pub mod var_ulong;
pub mod velocity;
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 serde::Serialize;
use crate::VarInt;
use crate::{VarInt, codec::velocity::Velocity};
#[derive(Serialize)]
#[packet(PLAY_SET_ENTITY_MOTION)]
pub struct CEntityVelocity {
pub entity_id: VarInt,
pub velocity: Vector3<i16>,
pub velocity: Velocity,
}
impl CEntityVelocity {
pub fn new(entity_id: VarInt, velocity: Vector3<f64>) -> Self {
Self {
entity_id,
velocity: Vector3::new(
(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,
),
velocity: Velocity(velocity),
}
}
}

View File

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

View File

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

View File

@ -22,7 +22,7 @@ pub mod world_info;
pub type BlockId = 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";
#[macro_export]

View File

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

View File

@ -12,11 +12,11 @@ use thiserror::Error;
pub mod anvil;
// Constraint: disk biome palette serialization changed in 1.21.5
pub const MINIMUM_SUPPORTED_WORLD_DATA_VERSION: i32 = 4435; // 1.21.8
pub const MAXIMUM_SUPPORTED_WORLD_DATA_VERSION: i32 = 4438; // 1.21.8
pub const MINIMUM_SUPPORTED_WORLD_DATA_VERSION: i32 = 4435; // 1.21.9
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 MAXIMUM_SUPPORTED_LEVEL_VERSION: i32 = 19133; // 1.21.8
pub const MINIMUM_SUPPORTED_LEVEL_VERSION: i32 = 19132; // 1.21.9
pub const MAXIMUM_SUPPORTED_LEVEL_VERSION: i32 = 19133; // 1.21.9
pub trait WorldInfoReader {
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_world::BlockStateId;
#[pumpkin_block("minecraft:chain")]
#[pumpkin_block("minecraft:iron_chain")]
pub struct ChainBlock;
#[async_trait]
impl BlockBehaviour for ChainBlock {
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#axis = match args.direction {
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_world::biome;
use pumpkin_world::cylindrical_chunk_iterator::Cylindrical;
use pumpkin_world::entity::entity_data_flags::{
DATA_PLAYER_MAIN_HAND, DATA_PLAYER_MODE_CUSTOMISATION, SLEEPING_POS_ID,
};
use pumpkin_world::entity::entity_data_flags::SLEEPING_POS_ID;
use pumpkin_world::item::ItemStack;
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_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 {
Initial,
@ -1381,23 +1379,24 @@ impl Player {
}
/// Send the player's skin layers and used hand to all players.
pub async fn send_client_information(&self) {
let config = self.config.read().await;
self.living_entity
.entity
.send_meta_data(&[
Metadata::new(
DATA_PLAYER_MODE_CUSTOMISATION,
MetaDataType::Byte,
config.skin_parts,
),
Metadata::new(
DATA_PLAYER_MAIN_HAND,
MetaDataType::Byte,
config.main_hand as u8,
),
])
.await;
pub fn send_client_information(&self) {
//let config = self.config.read().await;
// TODO
// self.living_entity
// .entity
// .send_meta_data(&[
// Metadata::new(
// DATA_PLAYER_MODE_CUSTOMISATION,
// MetaDataType::Byte,
// config.skin_parts,
// ),
// Metadata::new(
// DATA_PLAYER_MAIN_HAND,
// MetaDataType::Byte,
// config.main_hand as u8,
// ),
// ])
// .await;
}
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 {
namespace: "minecraft",
id: "core",
version: "1.21.8",
version: "1.21.9",
}]))
.await;
}

View File

@ -1023,7 +1023,7 @@ impl JavaClient {
player.gameprofile.name,
self.id,
);
player.send_client_information().await;
player.send_client_information();
}
} else {
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 async_trait::async_trait;
use border::Worldborder;
use bytes::BufMut;
use explosion::Explosion;
use pumpkin_config::BasicConfiguration;
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_protocol::bedrock::client::chunk_radius_update::CChunkRadiusUpdate;
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::{
BClientPacket, ClientPacket, IdOr, SoundEvent,
@ -83,12 +83,9 @@ use pumpkin_protocol::{
server::play::SChatMessage,
},
};
use pumpkin_protocol::{bedrock::client::start_game::CStartGame, ser::serializer::Serializer};
use pumpkin_protocol::{
codec::item_stack_seralizer::ItemStackSerializer,
java::client::play::{
CBlockEvent, CRemoveMobEffect, CSetEntityMetadata, CSetEquipment, MetaDataType, Metadata,
},
java::client::play::{CBlockEvent, CRemoveMobEffect, CSetEquipment},
};
use pumpkin_protocol::{
codec::var_int::VarInt,
@ -108,22 +105,18 @@ use pumpkin_util::{
math::{position::chunk_section_from_pos, vector2::Vector2},
random::{RandomImpl, get_seed, xoroshiro128::Xoroshiro},
};
use pumpkin_world::world::GetBlockError;
use pumpkin_world::{
BlockStateId, CURRENT_BEDROCK_MC_VERSION, GENERATION_SETTINGS, GeneratorSetting, biome,
block::entities::BlockEntity, chunk::io::Dirtiable, inventory::Inventory, item::ItemStack,
world::SimpleWorld,
};
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::{world::BlockFlags, world_info::LevelData};
use rand::seq::SliceRandom;
use rand::{Rng, rng};
use scoreboard::Scoreboard;
use serde::Serialize;
use time::LevelTime;
use tokio::sync::Mutex;
use tokio::sync::RwLock;
@ -1571,35 +1564,36 @@ impl World {
))
.await;
{
let config = existing_player.config.read().await;
let mut buf = Vec::new();
for meta in [
Metadata::new(
DATA_PLAYER_MODE_CUSTOMISATION,
MetaDataType::Byte,
config.skin_parts,
),
Metadata::new(
DATA_PLAYER_MAIN_HAND,
MetaDataType::Byte,
config.main_hand as u8,
),
] {
let mut serializer_buf = Vec::new();
// TODO
// let config = existing_player.config.read().await;
// let mut buf = Vec::new();
// for meta in [
// Metadata::new(
// DATA_PLAYER_MODE_CUSTOMISATION,
// MetaDataType::Byte,
// config.skin_parts,
// ),
// Metadata::new(
// DATA_PLAYER_MAIN_HAND,
// MetaDataType::Byte,
// config.main_hand as u8,
// ),
// ] {
// let mut serializer_buf = Vec::new();
let mut serializer = Serializer::new(&mut serializer_buf);
meta.serialize(&mut serializer).unwrap();
buf.extend(serializer_buf);
}
drop(config);
// END
buf.put_u8(255);
client
.enqueue_packet(&CSetEntityMetadata::new(
existing_player.get_entity().entity_id.into(),
buf.into(),
))
.await;
// let mut serializer = Serializer::new(&mut serializer_buf);
// meta.serialize(&mut serializer).unwrap();
// buf.extend(serializer_buf);
// }
// drop(config);
// // END
// buf.put_u8(255);
// client
// .enqueue_packet(&CSetEntityMetadata::new(
// existing_player.get_entity().entity_id.into(),
// buf.into(),
// ))
// .await;
};
{
@ -1634,7 +1628,7 @@ impl World {
.await;
}
}
player.send_client_information().await;
player.send_client_information();
// Sync selected slot
player
@ -1752,7 +1746,7 @@ impl World {
),
)
.await;
player.send_client_information().await;
player.send_client_information();
chunker::update_position(player).await;
// Update commands