feat: add 1.16.5 protocol support

- Add 1.16.5 minecraft-data
- Add v1_16_5 proto_generated code
- Add OnSuccess1_16_5 handler in client/login.go
- Update proto_generator to include 1.16.5
- Update download_minecraft_data.sh
This commit is contained in:
OpenCode
2026-08-05 11:13:58 +02:00
parent c911f95665
commit 0ed96837bd
59 changed files with 237772 additions and 12 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,200 @@
[
{
"id": 1,
"name": "Speed",
"displayName": "Speed",
"type": "good"
},
{
"id": 2,
"name": "Slowness",
"displayName": "Slowness",
"type": "bad"
},
{
"id": 3,
"name": "Haste",
"displayName": "Haste",
"type": "good"
},
{
"id": 4,
"name": "MiningFatigue",
"displayName": "Mining Fatigue",
"type": "bad"
},
{
"id": 5,
"name": "Strength",
"displayName": "Strength",
"type": "good"
},
{
"id": 6,
"name": "InstantHealth",
"displayName": "Instant Health",
"type": "good"
},
{
"id": 7,
"name": "InstantDamage",
"displayName": "Instant Damage",
"type": "bad"
},
{
"id": 8,
"name": "JumpBoost",
"displayName": "Jump Boost",
"type": "good"
},
{
"id": 9,
"name": "Nausea",
"displayName": "Nausea",
"type": "bad"
},
{
"id": 10,
"name": "Regeneration",
"displayName": "Regeneration",
"type": "good"
},
{
"id": 11,
"name": "Resistance",
"displayName": "Resistance",
"type": "good"
},
{
"id": 12,
"name": "FireResistance",
"displayName": "Fire Resistance",
"type": "good"
},
{
"id": 13,
"name": "WaterBreathing",
"displayName": "Water Breathing",
"type": "good"
},
{
"id": 14,
"name": "Invisibility",
"displayName": "Invisibility",
"type": "good"
},
{
"id": 15,
"name": "Blindness",
"displayName": "Blindness",
"type": "bad"
},
{
"id": 16,
"name": "NightVision",
"displayName": "Night Vision",
"type": "good"
},
{
"id": 17,
"name": "Hunger",
"displayName": "Hunger",
"type": "bad"
},
{
"id": 18,
"name": "Weakness",
"displayName": "Weakness",
"type": "bad"
},
{
"id": 19,
"name": "Poison",
"displayName": "Poison",
"type": "bad"
},
{
"id": 20,
"name": "Wither",
"displayName": "Wither",
"type": "bad"
},
{
"id": 21,
"name": "HealthBoost",
"displayName": "Health Boost",
"type": "good"
},
{
"id": 22,
"name": "Absorption",
"displayName": "Absorption",
"type": "good"
},
{
"id": 23,
"name": "Saturation",
"displayName": "Saturation",
"type": "good"
},
{
"id": 24,
"name": "Glowing",
"displayName": "Glowing",
"type": "bad"
},
{
"id": 25,
"name": "Levitation",
"displayName": "Levitation",
"type": "bad"
},
{
"id": 26,
"name": "Luck",
"displayName": "Luck",
"type": "good"
},
{
"id": 27,
"name": "BadLuck",
"displayName": "Bad Luck",
"type": "bad"
},
{
"id": 28,
"name": "SlowFalling",
"displayName": "Slow Falling",
"type": "good"
},
{
"id": 29,
"name": "ConduitPower",
"displayName": "Conduit Power",
"type": "good"
},
{
"id": 30,
"name": "DolphinsGrace",
"displayName": "Dolphin's Grace",
"type": "good"
},
{
"id": 31,
"name": "DolphinsGrace",
"displayName": "Dolphin's Grace",
"type": "good"
},
{
"id": 32,
"name": "BadOmen",
"displayName": "Bad Omen",
"type": "good"
},
{
"id": 32,
"name": "HeroOfTheVillage",
"displayName": "Hero Of The Village",
"type": "good"
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+402
View File
@@ -0,0 +1,402 @@
[
{
"id": 576,
"displayName": "Apple",
"name": "apple",
"stackSize": 64,
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 601,
"displayName": "Mushroom Stew",
"name": "mushroom_stew",
"stackSize": 1,
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 621,
"displayName": "Bread",
"name": "bread",
"stackSize": 64,
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 647,
"displayName": "Raw Porkchop",
"name": "porkchop",
"stackSize": 64,
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 648,
"displayName": "Cooked Porkchop",
"name": "cooked_porkchop",
"stackSize": 64,
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 650,
"displayName": "Golden Apple",
"name": "golden_apple",
"stackSize": 64,
"foodPoints": 4,
"saturation": 9.6,
"effectiveQuality": 13.6,
"saturationRatio": 2.4
},
{
"id": 651,
"displayName": "Enchanted Golden Apple",
"name": "enchanted_golden_apple",
"stackSize": 64,
"foodPoints": 4,
"saturation": 9.6,
"effectiveQuality": 13.6,
"saturationRatio": 2.4
},
{
"id": 687,
"displayName": "Raw Cod",
"name": "cod",
"stackSize": 64,
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 688,
"displayName": "Raw Salmon",
"name": "salmon",
"stackSize": 64,
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 689,
"displayName": "Tropical Fish",
"name": "tropical_fish",
"stackSize": 64,
"foodPoints": 1,
"saturation": 0.2,
"effectiveQuality": 1.2,
"saturationRatio": 0.2
},
{
"id": 690,
"displayName": "Pufferfish",
"name": "pufferfish",
"stackSize": 64,
"foodPoints": 1,
"saturation": 0.2,
"effectiveQuality": 1.2,
"saturationRatio": 0.2
},
{
"id": 691,
"displayName": "Cooked Cod",
"name": "cooked_cod",
"stackSize": 64,
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 692,
"displayName": "Cooked Salmon",
"name": "cooked_salmon",
"stackSize": 64,
"foodPoints": 6,
"saturation": 9.6,
"effectiveQuality": 15.6,
"saturationRatio": 1.5999999999999999
},
{
"id": 715,
"displayName": "Cake",
"name": "cake",
"stackSize": 1,
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 732,
"displayName": "Cookie",
"name": "cookie",
"stackSize": 64,
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 735,
"displayName": "Melon Slice",
"name": "melon_slice",
"stackSize": 64,
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 736,
"displayName": "Dried Kelp",
"name": "dried_kelp",
"stackSize": 64,
"foodPoints": 1,
"saturation": 0.6,
"effectiveQuality": 1.6,
"saturationRatio": 0.6
},
{
"id": 739,
"displayName": "Raw Beef",
"name": "beef",
"stackSize": 64,
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 740,
"displayName": "Steak",
"name": "cooked_beef",
"stackSize": 64,
"foodPoints": 8,
"saturation": 12.8,
"effectiveQuality": 20.8,
"saturationRatio": 1.6
},
{
"id": 741,
"displayName": "Raw Chicken",
"name": "chicken",
"stackSize": 64,
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 742,
"displayName": "Cooked Chicken",
"name": "cooked_chicken",
"stackSize": 64,
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 743,
"displayName": "Rotten Flesh",
"name": "rotten_flesh",
"stackSize": 64,
"foodPoints": 4,
"saturation": 0.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.2
},
{
"id": 751,
"displayName": "Spider Eye",
"name": "spider_eye",
"stackSize": 64,
"foodPoints": 2,
"saturation": 3.2,
"effectiveQuality": 5.2,
"saturationRatio": 1.6
},
{
"id": 829,
"displayName": "Carrot",
"name": "carrot",
"stackSize": 64,
"foodPoints": 3,
"saturation": 3.6,
"effectiveQuality": 6.6,
"saturationRatio": 1.2
},
{
"id": 830,
"displayName": "Potato",
"name": "potato",
"stackSize": 64,
"foodPoints": 1,
"saturation": 0.6,
"effectiveQuality": 1.6,
"saturationRatio": 0.6
},
{
"id": 831,
"displayName": "Baked Potato",
"name": "baked_potato",
"stackSize": 64,
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 832,
"displayName": "Poisonous Potato",
"name": "poisonous_potato",
"stackSize": 64,
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 834,
"displayName": "Golden Carrot",
"name": "golden_carrot",
"stackSize": 64,
"foodPoints": 6,
"saturation": 14.4,
"effectiveQuality": 20.4,
"saturationRatio": 2.4
},
{
"id": 844,
"displayName": "Pumpkin Pie",
"name": "pumpkin_pie",
"stackSize": 64,
"foodPoints": 8,
"saturation": 4.8,
"effectiveQuality": 12.8,
"saturationRatio": 0.6
},
{
"id": 854,
"displayName": "Raw Rabbit",
"name": "rabbit",
"stackSize": 64,
"foodPoints": 3,
"saturation": 1.8,
"effectiveQuality": 4.8,
"saturationRatio": 0.6
},
{
"id": 855,
"displayName": "Cooked Rabbit",
"name": "cooked_rabbit",
"stackSize": 64,
"foodPoints": 5,
"saturation": 6,
"effectiveQuality": 11,
"saturationRatio": 1.2
},
{
"id": 856,
"displayName": "Rabbit Stew",
"name": "rabbit_stew",
"stackSize": 1,
"foodPoints": 10,
"saturation": 12,
"effectiveQuality": 22,
"saturationRatio": 1.2
},
{
"id": 867,
"displayName": "Raw Mutton",
"name": "mutton",
"stackSize": 64,
"foodPoints": 2,
"saturation": 1.2,
"effectiveQuality": 3.2,
"saturationRatio": 0.6
},
{
"id": 868,
"displayName": "Cooked Mutton",
"name": "cooked_mutton",
"stackSize": 64,
"foodPoints": 6,
"saturation": 9.6,
"effectiveQuality": 15.6,
"saturationRatio": 1.5999999999999999
},
{
"id": 886,
"displayName": "Chorus Fruit",
"name": "chorus_fruit",
"stackSize": 64,
"foodPoints": 4,
"saturation": 2.4,
"effectiveQuality": 6.4,
"saturationRatio": 0.6
},
{
"id": 888,
"displayName": "Beetroot",
"name": "beetroot",
"stackSize": 64,
"foodPoints": 1,
"saturation": 1.2,
"effectiveQuality": 2.2,
"saturationRatio": 1.2
},
{
"id": 890,
"displayName": "Beetroot Soup",
"name": "beetroot_soup",
"stackSize": 1,
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 926,
"displayName": "Suspicious Stew",
"name": "suspicious_stew",
"stackSize": 1,
"foodPoints": 6,
"saturation": 7.2,
"effectiveQuality": 13.2,
"saturationRatio": 1.2
},
{
"id": 947,
"displayName": "Sweet Berries",
"name": "sweet_berries",
"stackSize": 64,
"foodPoints": 2,
"saturation": 0.4,
"effectiveQuality": 2.4,
"saturationRatio": 0.2
},
{
"id": 954,
"displayName": "Honey Bottle",
"name": "honey_bottle",
"stackSize": 16,
"foodPoints": 6,
"saturation": 1.2,
"effectiveQuality": 7.2,
"saturationRatio": 0.19999999999999998
}
]
@@ -0,0 +1,66 @@
[
{
"id": 0,
"name": "harp"
},
{
"id": 1,
"name": "basedrum"
},
{
"id": 2,
"name": "snare"
},
{
"id": 3,
"name": "hat"
},
{
"id": 4,
"name": "bass"
},
{
"id": 5,
"name": "flute"
},
{
"id": 6,
"name": "bell"
},
{
"id": 7,
"name": "guitar"
},
{
"id": 8,
"name": "chime"
},
{
"id": 9,
"name": "xylophone"
},
{
"id": 10,
"name": "iron_xylophone"
},
{
"id": 11,
"name": "cow_bell"
},
{
"id": 12,
"name": "didgeridoo"
},
{
"id": 13,
"name": "bit"
},
{
"id": 14,
"name": "banjo"
},
{
"id": 15,
"name": "pling"
}
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,69 @@
{
"rock": {
"573": 6,
"589": 2,
"593": 4,
"597": 8,
"608": 9,
"604": 12
},
"wood": {
"574": 6,
"590": 2,
"594": 4,
"598": 8,
"609": 9,
"605": 12
},
"plant": {
"574": 6,
"586": 1.5,
"587": 1.5,
"590": 2,
"591": 1.5,
"594": 4,
"595": 1.5,
"598": 8,
"609": 9,
"606": 1.5,
"602": 1.5,
"605": 12
},
"melon": {
"586": 1.5,
"587": 1.5,
"591": 1.5,
"595": 1.5,
"606": 1.5,
"602": 1.5
},
"leaves": {
"586": 1.5,
"587": 1.5,
"591": 1.5,
"595": 1.5,
"602": 1.5,
"606": 1.5,
"734": 6
},
"dirt": {
"572": 6,
"588": 2,
"592": 4,
"596": 8,
"607": 9,
"603": 12
},
"web": {
"586": 15,
"587": 15,
"591": 15,
"595": 15,
"602": 15,
"606": 15,
"734": 15
},
"wool": {
"734": 4.8
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
{
"minecraftVersion": "1.16.1",
"version": 736,
"majorVersion": "1.16"
}
@@ -0,0 +1,229 @@
[
{
"id": "",
"name": "Player",
"slots": [
{
"name": "craft result",
"index": 0
},
{
"name": "craft grid",
"index": 1,
"size": 4
},
{
"name": "armor",
"index": 5,
"size": 4
},
{
"name": "helmet",
"index": 5
},
{
"name": "chestplate",
"index": 6
},
{
"name": "leggings",
"index": 7
},
{
"name": "boots",
"index": 8
}
]
},
{
"id": "EntityHorse",
"name": "Horse",
"slots": [
{
"name": "saddle",
"index": 0
},
{
"name": "armor",
"index": 1
},
{
"name": "storage",
"index": 2,
"size": 15
}
],
"openedWith": [
{
"type": "entity",
"id": 100
}
]
},
{
"id": "minecraft:anvil",
"name": "Anvil",
"slots": [
{
"name": "tool",
"index": 0
},
{
"name": "combined",
"index": 1
},
{
"name": "result",
"index": 2
}
],
"properties": [
"repair cost"
]
},
{
"id": "minecraft:beacon",
"name": "Beacon",
"slots": [
{
"name": "input",
"index": 0
}
],
"properties": [
"level",
"effect 1",
"effect 2"
],
"openedWith": [
{
"type": "block",
"id": 138
}
]
},
{
"id": "minecraft:brewing_stand",
"name": "Brewing Stand",
"slots": [
{
"name": "ingredient",
"index": 0
},
{
"name": "result",
"index": 1,
"size": 3
}
],
"properties": [
"brew time"
],
"openedWith": [
{
"type": "block",
"id": 117
}
]
},
{
"id": "minecraft:chest",
"name": "Chest"
},
{
"id": "minecraft:container",
"name": "Container"
},
{
"id": "minecraft:crafting_table",
"name": "Workbench",
"slots": [
{
"name": "craft result",
"index": 0
},
{
"name": "craft grid",
"index": 1,
"size": 9
}
]
},
{
"id": "minecraft:dispenser",
"name": "Dispenser"
},
{
"id": "minecraft:dropper",
"name": "Dropper"
},
{
"id": "minecraft:enchanting_table",
"name": "Enchantment Table",
"slots": [
{
"name": "enchanted",
"index": 0
},
{
"name": "lapis",
"index": 1
}
],
"properties": [
"xp 1",
"xp 2",
"xp 3",
"seed",
"tooltip 1",
"tooltip 2",
"tooltip 3"
]
},
{
"id": "minecraft:furnace",
"name": "Furnace",
"slots": [
{
"name": "smelted",
"index": 0
},
{
"name": "fuel",
"index": 1
},
{
"name": "result",
"index": 2
}
],
"properties": [
"fuel",
"fuel max",
"progress",
"progress max"
]
},
{
"id": "minecraft:hopper",
"name": "Hopper"
},
{
"id": "minecraft:villager",
"name": "NPC Trade",
"slots": [
{
"name": "give 1",
"index": 0
},
{
"name": "give 2",
"index": 1
},
{
"name": "take",
"index": 2
}
]
}
]