diff --git a/config.toml b/config.toml index 4c644df..d3e8573 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,4 @@ [Connection] - LocalAddress = "0.0.0.0:19132" - RemoteAddress = "play.venitymc.com:19132" + LocalAddress = "0.0.0.0:19135" + RemoteAddress = "127.0.0.1:19132" diff --git a/go.mod b/go.mod index 86d820a..66aa97b 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/google/uuid v1.6.0 github.com/pelletier/go-toml v1.9.5 github.com/rogpeppe/go-internal v1.13.1 - github.com/samber/lo v1.47.0 + github.com/samber/lo v1.49.1 github.com/sandertv/gophertunnel v1.45.1-0.20250325213530-4e2b368f13ca github.com/segmentio/fasthash v1.0.3 golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 diff --git a/go.sum b/go.sum index d9d694f..de736f1 100644 --- a/go.sum +++ b/go.sum @@ -47,6 +47,8 @@ github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc= github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= +github.com/samber/lo v1.49.1 h1:4BIFyVfuQSEpluc7Fua+j1NolZHiEHEpaSEKdsH0tew= +github.com/samber/lo v1.49.1/go.mod h1:dO6KHFzUKXgP8LDhU0oI8d2hekjXnGOu0DB8Jecxd6o= github.com/sandertv/go-raknet v1.14.2 h1:UZLyHn5yQU2Dq2GVq/LlxwAUikaq4q4AA1rl/Pf3AXQ= github.com/sandertv/go-raknet v1.14.2/go.mod h1:/yysjwfCXm2+2OY8mBazLzcxJ3irnylKCyG3FLgUPVU= github.com/sandertv/go-raknet v1.14.3-0.20250305181847-6af3e95113d6 h1:ZfK7NCzIDE+dzp5x6NIO4JDLsjsOxi762CNR1Obds2Q= diff --git a/legacyver/data/item_runtime_ids_671.nbt b/legacyver/data/item_runtime_ids_671.nbt deleted file mode 100644 index 10fa3de..0000000 Binary files a/legacyver/data/item_runtime_ids_671.nbt and /dev/null differ diff --git a/legacyver/data/item_runtime_ids_686.nbt b/legacyver/data/item_runtime_ids_686.nbt deleted file mode 100644 index 51ae9a8..0000000 Binary files a/legacyver/data/item_runtime_ids_686.nbt and /dev/null differ diff --git a/legacyver/data/item_runtime_ids_712.nbt b/legacyver/data/item_runtime_ids_712.nbt deleted file mode 100644 index 10fa3de..0000000 Binary files a/legacyver/data/item_runtime_ids_712.nbt and /dev/null differ diff --git a/legacyver/data/item_runtime_ids_729.nbt b/legacyver/data/item_runtime_ids_729.nbt deleted file mode 100644 index 4c91368..0000000 Binary files a/legacyver/data/item_runtime_ids_729.nbt and /dev/null differ diff --git a/legacyver/data/item_runtime_ids_748.nbt b/legacyver/data/item_runtime_ids_748.nbt deleted file mode 100644 index e1eb29e..0000000 Binary files a/legacyver/data/item_runtime_ids_748.nbt and /dev/null differ diff --git a/legacyver/data/item_runtime_ids_766.nbt b/legacyver/data/item_runtime_ids_766.nbt deleted file mode 100644 index 10fa3de..0000000 Binary files a/legacyver/data/item_runtime_ids_766.nbt and /dev/null differ diff --git a/legacyver/data/item_runtime_ids_776.nbt b/legacyver/data/item_runtime_ids_776.nbt deleted file mode 100644 index d840a59..0000000 Binary files a/legacyver/data/item_runtime_ids_776.nbt and /dev/null differ diff --git a/legacyver/data/item_runtime_ids_786.nbt b/legacyver/data/item_runtime_ids_786.nbt deleted file mode 100644 index 1cf38e3..0000000 Binary files a/legacyver/data/item_runtime_ids_786.nbt and /dev/null differ diff --git a/legacyver/data/required_item_list_776.json b/legacyver/data/required_item_list_776.json index 687e532..829e60a 100644 --- a/legacyver/data/required_item_list_776.json +++ b/legacyver/data/required_item_list_776.json @@ -187,7 +187,8 @@ "minecraft:apple": { "runtime_id": 278, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AgAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZUAAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAUAYXBwbGUAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgEAAAADDAB1c2VfZHVyYXRpb24gAAAAAAkJAGl0ZW1fdGFncwgBAAAAEQBtaW5lY3JhZnQ6aXNfZm9vZAoWAG1pbmVjcmFmdDpkaXNwbGF5X25hbWUIBQB2YWx1ZQ8AaXRlbS5hcHBsZS5uYW1lAAoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAwkAbnV0cml0aW9uBAAAAAUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+ChEAdXNpbmdfY29udmVydHNfdG8AAAoOAG1pbmVjcmFmdDp0YWdzCQQAdGFncwgBAAAAEQBtaW5lY3JhZnQ6aXNfZm9vZAAKFwBtaW5lY3JhZnQ6dXNlX2FuaW1hdGlvbggFAHZhbHVlAwBlYXQAChcAbWluZWNyYWZ0OnVzZV9tb2RpZmllcnMFEQBtb3ZlbWVudF9tb2RpZmllcjMzsz4FDAB1c2VfZHVyYXRpb27NzMw\/AAAA" }, "minecraft:archer_pottery_sherd": { "runtime_id": 695, @@ -252,7 +253,8 @@ "minecraft:baked_potato": { "runtime_id": 303, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24FAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:balloon": { "runtime_id": 636, @@ -432,7 +434,8 @@ "minecraft:beef": { "runtime_id": 295, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24DAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:beehive": { "runtime_id": -219, @@ -442,17 +445,20 @@ "minecraft:beetroot": { "runtime_id": 307, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24BAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:beetroot_seeds": { "runtime_id": 317, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpzZWVkCAsAY3JvcF9yZXN1bHQSAG1pbmVjcmFmdDpiZWV0cm9vdAkIAHBsYW50X2F0CAEAAAASAG1pbmVjcmFmdDpmYXJtbGFuZAEaAHBsYW50X2F0X2FueV9zb2xpZF9zdXJmYWNlAAgNAHBsYW50X2F0X2ZhY2UCAHVwAAAA" }, "minecraft:beetroot_soup": { "runtime_id": 308, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8EAGJvd2wAAxgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQAAAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:bell": { "runtime_id": -206, @@ -567,7 +573,8 @@ "minecraft:black_bundle": { "runtime_id": 264, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAwAYnVuZGxlX2JsYWNrAAAFDABtaW5pbmdfc3BlZWQAAIA\/AQ4Ac2hvdWxkX2Rlc3Bhd24BAQ8Ac3RhY2tlZF9ieV9kYXRhAAMNAHVzZV9hbmltYXRpb24AAAAAAwwAdXNlX2R1cmF0aW9uAAAAAAAJCQBpdGVtX3RhZ3MAAAAAAAocAG1pbmVjcmFmdDpidW5kbGVfaW50ZXJhY3Rpb24DEgBudW1fdmlld2FibGVfc2xvdHMMAAAAAAoYAG1pbmVjcmFmdDptYXhfc3RhY2tfc2l6ZQEFAHZhbHVlAQAKFgBtaW5lY3JhZnQ6c3RvcmFnZV9pdGVtARoAYWxsb3dfbmVzdGVkX3N0b3JhZ2VfaXRlbXMBCQ0AYWxsb3dlZF9pdGVtcwAAAAAACQwAYmFubmVkX2l0ZW1zCgIAAAAIBABuYW1lFQBtaW5lY3JhZnQ6c2h1bGtlcl9ib3gACAQAbmFtZRwAbWluZWNyYWZ0OnVuZHllZF9zaHVsa2VyX2JveAADCQBtYXhfc2xvdHNAAAAAAAoeAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9saW1pdAMQAG1heF93ZWlnaHRfbGltaXRAAAAAAAohAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9tb2RpZmllcgMWAHdlaWdodF9pbl9zdG9yYWdlX2l0ZW0EAAAAAAAA" }, "minecraft:black_candle": { "runtime_id": -428, @@ -687,7 +694,8 @@ "minecraft:blue_bundle": { "runtime_id": 259, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAsAYnVuZGxlX2JsdWUAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:blue_candle": { "runtime_id": -424, @@ -847,12 +855,14 @@ "minecraft:bread": { "runtime_id": 283, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24FAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:breeze_rod": { "runtime_id": 274, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5BAAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAEBDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZUAAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAoAYnJlZXplX3JvZAAABQwAbWluaW5nX3NwZWVkAACAPwEOAHNob3VsZF9kZXNwYXduAQEPAHN0YWNrZWRfYnlfZGF0YQADDQB1c2VfYW5pbWF0aW9uAAAAAAMMAHVzZV9kdXJhdGlvbgAAAAAACQkAaXRlbV90YWdzAAAAAAAKFgBtaW5lY3JhZnQ6ZGlzcGxheV9uYW1lCAUAdmFsdWUUAGl0ZW0uYnJlZXplX3JvZC5uYW1lAAoXAG1pbmVjcmFmdDpoYW5kX2VxdWlwcGVkAQUAdmFsdWUBAAAA" }, "minecraft:breeze_spawn_egg": { "runtime_id": 529, @@ -902,7 +912,8 @@ "minecraft:brown_bundle": { "runtime_id": 258, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAwAYnVuZGxlX2Jyb3duAAAFDABtaW5pbmdfc3BlZWQAAIA\/AQ4Ac2hvdWxkX2Rlc3Bhd24BAQ8Ac3RhY2tlZF9ieV9kYXRhAAMNAHVzZV9hbmltYXRpb24AAAAAAwwAdXNlX2R1cmF0aW9uAAAAAAAJCQBpdGVtX3RhZ3MAAAAAAAocAG1pbmVjcmFmdDpidW5kbGVfaW50ZXJhY3Rpb24DEgBudW1fdmlld2FibGVfc2xvdHMMAAAAAAoYAG1pbmVjcmFmdDptYXhfc3RhY2tfc2l6ZQEFAHZhbHVlAQAKFgBtaW5lY3JhZnQ6c3RvcmFnZV9pdGVtARoAYWxsb3dfbmVzdGVkX3N0b3JhZ2VfaXRlbXMBCQ0AYWxsb3dlZF9pdGVtcwAAAAAACQwAYmFubmVkX2l0ZW1zCgIAAAAIBABuYW1lFQBtaW5lY3JhZnQ6c2h1bGtlcl9ib3gACAQAbmFtZRwAbWluZWNyYWZ0OnVuZHllZF9zaHVsa2VyX2JveAADCQBtYXhfc2xvdHNAAAAAAAoeAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9saW1pdAMQAG1heF93ZWlnaHRfbGltaXRAAAAAAAohAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9tb2RpZmllcgMWAHdlaWdodF9pbl9zdG9yYWdlX2l0ZW0EAAAAAAAA" }, "minecraft:brown_candle": { "runtime_id": -425, @@ -1017,7 +1028,8 @@ "minecraft:bundle": { "runtime_id": 271, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAYAYnVuZGxlAAAFDABtaW5pbmdfc3BlZWQAAIA\/AQ4Ac2hvdWxkX2Rlc3Bhd24BAQ8Ac3RhY2tlZF9ieV9kYXRhAAMNAHVzZV9hbmltYXRpb24AAAAAAwwAdXNlX2R1cmF0aW9uAAAAAAAJCQBpdGVtX3RhZ3MAAAAAAAocAG1pbmVjcmFmdDpidW5kbGVfaW50ZXJhY3Rpb24DEgBudW1fdmlld2FibGVfc2xvdHMMAAAAAAoYAG1pbmVjcmFmdDptYXhfc3RhY2tfc2l6ZQEFAHZhbHVlAQAKFgBtaW5lY3JhZnQ6c3RvcmFnZV9pdGVtARoAYWxsb3dfbmVzdGVkX3N0b3JhZ2VfaXRlbXMBCQ0AYWxsb3dlZF9pdGVtcwAAAAAACQwAYmFubmVkX2l0ZW1zCgIAAAAIBABuYW1lFQBtaW5lY3JhZnQ6c2h1bGtlcl9ib3gACAQAbmFtZRwAbWluZWNyYWZ0OnVuZHllZF9zaHVsa2VyX2JveAADCQBtYXhfc2xvdHNAAAAAAAoeAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9saW1pdAMQAG1heF93ZWlnaHRfbGltaXRAAAAAAAohAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9tb2RpZmllcgMWAHdlaWdodF9pbl9zdG9yYWdlX2l0ZW0EAAAAAAAA" }, "minecraft:burn_pottery_sherd": { "runtime_id": 699, @@ -1052,7 +1064,8 @@ "minecraft:camera": { "runtime_id": 631, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwgPAG1pbmVjcmFmdDpibG9jaxAAbWluZWNyYWZ0OmNhbWVyYQoQAG1pbmVjcmFmdDpjYW1lcmEFEwBibGFja19iYXJzX2R1cmF0aW9uzcxMPgUXAGJsYWNrX2JhcnNfc2NyZWVuX3JhdGlvCtejPQUQAHBpY3R1cmVfZHVyYXRpb24AAIA\/BRAAc2h1dHRlcl9kdXJhdGlvbs3MTD4FFABzaHV0dGVyX3NjcmVlbl9yYXRpbwAAAD8FEwBzbGlkZV9hd2F5X2R1cmF0aW9uzcxMPgADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uoIYBAAAA" }, "minecraft:campfire": { "runtime_id": 624, @@ -1077,7 +1090,8 @@ "minecraft:carrot": { "runtime_id": 301, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24DAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAAKDgBtaW5lY3JhZnQ6c2VlZAgLAGNyb3BfcmVzdWx0EQBtaW5lY3JhZnQ6Y2Fycm90cwkIAHBsYW50X2F0CAEAAAASAG1pbmVjcmFmdDpmYXJtbGFuZAEaAHBsYW50X2F0X2FueV9zb2xpZF9zdXJmYWNlAAgNAHBsYW50X2F0X2ZhY2UCAHVwAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:carrot_on_a_stick": { "runtime_id": 550, @@ -1297,7 +1311,8 @@ "minecraft:chicken": { "runtime_id": 297, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAAJBwBlZmZlY3RzCgEAAAADCQBhbXBsaWZpZXIAAAAABQYAY2hhbmNlmpmZPggNAGRlc2NyaXB0aW9uSWQNAHBvdGlvbi5odW5nZXIDCABkdXJhdGlvbh4AAAADAgBpZBEAAAAIBABuYW1lBgBodW5nZXIAAwkAbnV0cml0aW9uAgAAAAMNAG9uX3VzZV9hY3Rpb27\/\/\/\/\/CQwAb25fdXNlX3JhbmdlBQMAAAAAAABBAAAAQQAAAEEFEwBzYXR1cmF0aW9uX21vZGlmaWVympmZPggRAHVzaW5nX2NvbnZlcnRzX3RvAAAAAxYAbWluZWNyYWZ0OnVzZV9kdXJhdGlvbiAAAAAAAA==" }, "minecraft:chicken_spawn_egg": { "runtime_id": 462, @@ -1377,7 +1392,8 @@ "minecraft:chorus_fruit": { "runtime_id": 591, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQBAw0AY29vbGRvd25fdGltZRQAAAAIDQBjb29sZG93bl90eXBlCwBjaG9ydXNmcnVpdAMJAG51dHJpdGlvbgQAAAADDQBvbl91c2VfYWN0aW9uAAAAAAkMAG9uX3VzZV9yYW5nZQUDAAAAAAAAQQAAAEEAAABBBRMAc2F0dXJhdGlvbl9tb2RpZmllcpqZmT4IEQB1c2luZ19jb252ZXJ0c190bwAAAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:chorus_plant": { "runtime_id": 240, @@ -1492,7 +1508,8 @@ "minecraft:cod": { "runtime_id": 286, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24CAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzMw9CBEAdXNpbmdfY29udmVydHNfdG8AAAABGQBtaW5lY3JhZnQ6c3RhY2tlZF9ieV9kYXRhAQMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:cod_bucket": { "runtime_id": 389, @@ -1587,42 +1604,50 @@ "minecraft:cooked_beef": { "runtime_id": 296, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24IAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzEw\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:cooked_chicken": { "runtime_id": 298, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:cooked_cod": { "runtime_id": 290, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24FAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAABGQBtaW5lY3JhZnQ6c3RhY2tlZF9ieV9kYXRhAQMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:cooked_mutton": { "runtime_id": 584, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzEw\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:cooked_porkchop": { "runtime_id": 285, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24IAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzEw\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:cooked_rabbit": { "runtime_id": 311, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24FAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:cooked_salmon": { "runtime_id": 291, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzEw\/CBEAdXNpbmdfY29udmVydHNfdG8AAAABGQBtaW5lY3JhZnQ6c3RhY2tlZF9ieV9kYXRhAQMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:cookie": { "runtime_id": 293, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24CAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzMw9CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:copper_block": { "runtime_id": -340, @@ -1902,7 +1927,8 @@ "minecraft:cyan_bundle": { "runtime_id": 263, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAsAYnVuZGxlX2N5YW4AAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:cyan_candle": { "runtime_id": -422, @@ -2512,7 +2538,8 @@ "minecraft:dried_kelp": { "runtime_id": 292, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24BAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzMw9CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uEAAAAAAA" }, "minecraft:dried_kelp_block": { "runtime_id": -139, @@ -3192,7 +3219,8 @@ "minecraft:enchanted_golden_apple": { "runtime_id": 281, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwEOAG1pbmVjcmFmdDpmb2lsAQoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQBAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAAJBwBlZmZlY3RzCgQAAAADCQBhbXBsaWZpZXIBAAAABQYAY2hhbmNlAACAPwgNAGRlc2NyaXB0aW9uSWQTAHBvdGlvbi5yZWdlbmVyYXRpb24DCABkdXJhdGlvbh4AAAADAgBpZAoAAAAIBABuYW1lDAByZWdlbmVyYXRpb24AAwkAYW1wbGlmaWVyAwAAAAUGAGNoYW5jZQAAgD8IDQBkZXNjcmlwdGlvbklkEQBwb3Rpb24uYWJzb3JwdGlvbgMIAGR1cmF0aW9ueAAAAAMCAGlkFgAAAAgEAG5hbWUKAGFic29ycHRpb24AAwkAYW1wbGlmaWVyAAAAAAUGAGNoYW5jZQAAgD8IDQBkZXNjcmlwdGlvbklkEQBwb3Rpb24ucmVzaXN0YW5jZQMIAGR1cmF0aW9uLAEAAAMCAGlkCwAAAAgEAG5hbWUKAHJlc2lzdGFuY2UAAwkAYW1wbGlmaWVyAAAAAAUGAGNoYW5jZQAAgD8IDQBkZXNjcmlwdGlvbklkFQBwb3Rpb24uZmlyZVJlc2lzdGFuY2UDCABkdXJhdGlvbiwBAAADAgBpZAwAAAAIBABuYW1lDwBmaXJlX3Jlc2lzdGFuY2UAAwkAbnV0cml0aW9uBAAAAAMNAG9uX3VzZV9hY3Rpb27\/\/\/\/\/CQwAb25fdXNlX3JhbmdlBQMAAAAAAABBAAAAQQAAAEEFEwBzYXR1cmF0aW9uX21vZGlmaWVympmZPwgRAHVzaW5nX2NvbnZlcnRzX3RvAAAAARkAbWluZWNyYWZ0OnN0YWNrZWRfYnlfZGF0YQEDFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:enchanting_table": { "runtime_id": 116, @@ -3572,7 +3600,8 @@ "minecraft:glow_berries": { "runtime_id": 797, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24CAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAAKDgBtaW5lY3JhZnQ6c2VlZAgLAGNyb3BfcmVzdWx0FABtaW5lY3JhZnQ6Y2F2ZV92aW5lcwkIAHBsYW50X2F0CAIAAAAKAGNhdmVfdmluZXMcAGNhdmVfdmluZXNfaGVhZF93aXRoX2JlcnJpZXMBGgBwbGFudF9hdF9hbnlfc29saWRfc3VyZmFjZQEIDQBwbGFudF9hdF9mYWNlBABkb3duAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:glow_frame": { "runtime_id": 661, @@ -3647,7 +3676,8 @@ "minecraft:golden_apple": { "runtime_id": 280, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQBAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAAJBwBlZmZlY3RzCgIAAAADCQBhbXBsaWZpZXIBAAAABQYAY2hhbmNlAACAPwgNAGRlc2NyaXB0aW9uSWQTAHBvdGlvbi5yZWdlbmVyYXRpb24DCABkdXJhdGlvbgUAAAADAgBpZAoAAAAIBABuYW1lDAByZWdlbmVyYXRpb24AAwkAYW1wbGlmaWVyAAAAAAUGAGNoYW5jZQAAgD8IDQBkZXNjcmlwdGlvbklkEQBwb3Rpb24uYWJzb3JwdGlvbgMIAGR1cmF0aW9ueAAAAAMCAGlkFgAAAAgEAG5hbWUKAGFic29ycHRpb24AAwkAbnV0cml0aW9uBAAAAAMNAG9uX3VzZV9hY3Rpb27\/\/\/\/\/CQwAb25fdXNlX3JhbmdlBQMAAAAAAABBAAAAQQAAAEEFEwBzYXR1cmF0aW9uX21vZGlmaWVympmZPwgRAHVzaW5nX2NvbnZlcnRzX3RvAAAAARkAbWluZWNyYWZ0OnN0YWNrZWRfYnlfZGF0YQEDFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:golden_axe": { "runtime_id": 350, @@ -3662,7 +3692,8 @@ "minecraft:golden_carrot": { "runtime_id": 305, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk\/CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:golden_chestplate": { "runtime_id": 377, @@ -3752,7 +3783,8 @@ "minecraft:gray_bundle": { "runtime_id": 266, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAsAYnVuZGxlX2dyYXkAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:gray_candle": { "runtime_id": -420, @@ -3817,7 +3849,8 @@ "minecraft:green_bundle": { "runtime_id": 257, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAwAYnVuZGxlX2dyZWVuAAAFDABtaW5pbmdfc3BlZWQAAIA\/AQ4Ac2hvdWxkX2Rlc3Bhd24BAQ8Ac3RhY2tlZF9ieV9kYXRhAAMNAHVzZV9hbmltYXRpb24AAAAAAwwAdXNlX2R1cmF0aW9uAAAAAAAJCQBpdGVtX3RhZ3MAAAAAAAocAG1pbmVjcmFmdDpidW5kbGVfaW50ZXJhY3Rpb24DEgBudW1fdmlld2FibGVfc2xvdHMMAAAAAAoYAG1pbmVjcmFmdDptYXhfc3RhY2tfc2l6ZQEFAHZhbHVlAQAKFgBtaW5lY3JhZnQ6c3RvcmFnZV9pdGVtARoAYWxsb3dfbmVzdGVkX3N0b3JhZ2VfaXRlbXMBCQ0AYWxsb3dlZF9pdGVtcwAAAAAACQwAYmFubmVkX2l0ZW1zCgIAAAAIBABuYW1lFQBtaW5lY3JhZnQ6c2h1bGtlcl9ib3gACAQAbmFtZRwAbWluZWNyYWZ0OnVuZHllZF9zaHVsa2VyX2JveAADCQBtYXhfc2xvdHNAAAAAAAoeAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9saW1pdAMQAG1heF93ZWlnaHRfbGltaXRAAAAAAAohAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9tb2RpZmllcgMWAHdlaWdodF9pbl9zdG9yYWdlX2l0ZW0EAAAAAAAA" }, "minecraft:green_candle": { "runtime_id": -426, @@ -4137,7 +4170,8 @@ "minecraft:honey_bottle": { "runtime_id": 628, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQBAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQkOAHJlbW92ZV9lZmZlY3RzAwEAAAATAAAABRMAc2F0dXJhdGlvbl9tb2RpZmllcs3MzD0IEQB1c2luZ19jb252ZXJ0c190bwwAZ2xhc3NfYm90dGxlAAMYAG1pbmVjcmFmdDptYXhfc3RhY2tfc2l6ZRAAAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uKAAAAAAA" }, "minecraft:honeycomb": { "runtime_id": 627, @@ -4802,7 +4836,8 @@ "minecraft:light_blue_bundle": { "runtime_id": 272, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdBEAYnVuZGxlX2xpZ2h0X2JsdWUAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:light_blue_candle": { "runtime_id": -416, @@ -4867,7 +4902,8 @@ "minecraft:light_gray_bundle": { "runtime_id": 273, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdBEAYnVuZGxlX2xpZ2h0X2dyYXkAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:light_gray_candle": { "runtime_id": -421, @@ -4947,7 +4983,8 @@ "minecraft:lime_bundle": { "runtime_id": 268, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAsAYnVuZGxlX2xpbWUAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:lime_candle": { "runtime_id": -418, @@ -5087,7 +5124,8 @@ "minecraft:magenta_bundle": { "runtime_id": 261, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdA4AYnVuZGxlX21hZ2VudGEAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:magenta_candle": { "runtime_id": -415, @@ -5292,12 +5330,14 @@ "minecraft:melon_seeds": { "runtime_id": 315, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpzZWVkCAsAY3JvcF9yZXN1bHQUAG1pbmVjcmFmdDptZWxvbl9zdGVtCQgAcGxhbnRfYXQIAQAAABIAbWluZWNyYWZ0OmZhcm1sYW5kARoAcGxhbnRfYXRfYW55X3NvbGlkX3N1cmZhY2UACA0AcGxhbnRfYXRfZmFjZQIAdXAAAAA=" }, "minecraft:melon_slice": { "runtime_id": 294, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24CAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:melon_stem": { "runtime_id": 105, @@ -5457,7 +5497,8 @@ "minecraft:mushroom_stew": { "runtime_id": 282, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8EAGJvd2wAAxgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQAAAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:music_disc_11": { "runtime_id": 577, @@ -5557,7 +5598,8 @@ "minecraft:mutton": { "runtime_id": 583, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24CAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:mycelium": { "runtime_id": 110, @@ -5622,7 +5664,8 @@ "minecraft:nether_wart": { "runtime_id": 316, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpzZWVkCAsAY3JvcF9yZXN1bHQVAG1pbmVjcmFmdDpuZXRoZXJfd2FydAkIAHBsYW50X2F0CAEAAAAJAHNvdWxfc2FuZAEaAHBsYW50X2F0X2FueV9zb2xpZF9zdXJmYWNlAAgNAHBsYW50X2F0X2ZhY2UCAHVwAAAA" }, "minecraft:nether_wart_block": { "runtime_id": 214, @@ -5827,7 +5870,8 @@ "minecraft:ominous_trial_key": { "runtime_id": 276, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5BAAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZUAAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdBEAb21pbm91c190cmlhbF9rZXkAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChYAbWluZWNyYWZ0OmRpc3BsYXlfbmFtZQgFAHZhbHVlGwBpdGVtLm9taW5vdXNfdHJpYWxfa2V5Lm5hbWUAAAA=" }, "minecraft:open_eyeblossom": { "runtime_id": -1018, @@ -5837,7 +5881,8 @@ "minecraft:orange_bundle": { "runtime_id": 267, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdA0AYnVuZGxlX29yYW5nZQAABQwAbWluaW5nX3NwZWVkAACAPwEOAHNob3VsZF9kZXNwYXduAQEPAHN0YWNrZWRfYnlfZGF0YQADDQB1c2VfYW5pbWF0aW9uAAAAAAMMAHVzZV9kdXJhdGlvbgAAAAAACQkAaXRlbV90YWdzAAAAAAAKHABtaW5lY3JhZnQ6YnVuZGxlX2ludGVyYWN0aW9uAxIAbnVtX3ZpZXdhYmxlX3Nsb3RzDAAAAAAKGABtaW5lY3JhZnQ6bWF4X3N0YWNrX3NpemUBBQB2YWx1ZQEAChYAbWluZWNyYWZ0OnN0b3JhZ2VfaXRlbQEaAGFsbG93X25lc3RlZF9zdG9yYWdlX2l0ZW1zAQkNAGFsbG93ZWRfaXRlbXMAAAAAAAkMAGJhbm5lZF9pdGVtcwoCAAAACAQAbmFtZRUAbWluZWNyYWZ0OnNodWxrZXJfYm94AAgEAG5hbWUcAG1pbmVjcmFmdDp1bmR5ZWRfc2h1bGtlcl9ib3gAAwkAbWF4X3Nsb3RzQAAAAAAKHgBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbGltaXQDEABtYXhfd2VpZ2h0X2xpbWl0QAAAAAAKIQBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbW9kaWZpZXIDFgB3ZWlnaHRfaW5fc3RvcmFnZV9pdGVtBAAAAAAAAA==" }, "minecraft:orange_candle": { "runtime_id": -414, @@ -6167,7 +6212,8 @@ "minecraft:pink_bundle": { "runtime_id": 270, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAsAYnVuZGxlX3BpbmsAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChwAbWluZWNyYWZ0OmJ1bmRsZV9pbnRlcmFjdGlvbgMSAG51bV92aWV3YWJsZV9zbG90cwwAAAAAChgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQUAdmFsdWUBAAoWAG1pbmVjcmFmdDpzdG9yYWdlX2l0ZW0BGgBhbGxvd19uZXN0ZWRfc3RvcmFnZV9pdGVtcwEJDQBhbGxvd2VkX2l0ZW1zAAAAAAAJDABiYW5uZWRfaXRlbXMKAgAAAAgEAG5hbWUVAG1pbmVjcmFmdDpzaHVsa2VyX2JveAAIBABuYW1lHABtaW5lY3JhZnQ6dW5keWVkX3NodWxrZXJfYm94AAMJAG1heF9zbG90c0AAAAAACh4AbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X2xpbWl0AxAAbWF4X3dlaWdodF9saW1pdEAAAAAACiEAbWluZWNyYWZ0OnN0b3JhZ2Vfd2VpZ2h0X21vZGlmaWVyAxYAd2VpZ2h0X2luX3N0b3JhZ2VfaXRlbQQAAAAAAAA=" }, "minecraft:pink_candle": { "runtime_id": -419, @@ -6262,7 +6308,8 @@ "minecraft:pitcher_pod": { "runtime_id": 319, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpzZWVkCAsAY3JvcF9yZXN1bHQWAG1pbmVjcmFmdDpwaXRjaGVyX2Nyb3AJCABwbGFudF9hdAgBAAAAEgBtaW5lY3JhZnQ6ZmFybWxhbmQBGgBwbGFudF9hdF9hbnlfc29saWRfc3VyZmFjZQAIDQBwbGFudF9hdF9mYWNlAgB1cAAAAA==" }, "minecraft:planks": { "runtime_id": 772, @@ -6292,7 +6339,8 @@ "minecraft:poisonous_potato": { "runtime_id": 304, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAAJBwBlZmZlY3RzCgEAAAADCQBhbXBsaWZpZXIAAAAABQYAY2hhbmNlmpkZPwgNAGRlc2NyaXB0aW9uSWQNAHBvdGlvbi5wb2lzb24DCABkdXJhdGlvbgUAAAADAgBpZBMAAAAIBABuYW1lBgBwb2lzb24AAwkAbnV0cml0aW9uAgAAAAMNAG9uX3VzZV9hY3Rpb27\/\/\/\/\/CQwAb25fdXNlX3JhbmdlBQMAAAAAAABBAAAAQQAAAEEFEwBzYXR1cmF0aW9uX21vZGlmaWVympmZPggRAHVzaW5nX2NvbnZlcnRzX3RvAAAAAxYAbWluZWNyYWZ0OnVzZV9kdXJhdGlvbiAAAAAAAA==" }, "minecraft:polar_bear_spawn_egg": { "runtime_id": 500, @@ -6487,7 +6535,8 @@ "minecraft:porkchop": { "runtime_id": 284, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24DAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:portal": { "runtime_id": 90, @@ -6497,7 +6546,8 @@ "minecraft:potato": { "runtime_id": 302, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24BAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAAKDgBtaW5lY3JhZnQ6c2VlZAgLAGNyb3BfcmVzdWx0EgBtaW5lY3JhZnQ6cG90YXRvZXMJCABwbGFudF9hdAgBAAAAEgBtaW5lY3JhZnQ6ZmFybWxhbmQBGgBwbGFudF9hdF9hbnlfc29saWRfc3VyZmFjZQAIDQBwbGFudF9hdF9mYWNlAgB1cAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:potatoes": { "runtime_id": 142, @@ -6592,7 +6642,8 @@ "minecraft:pufferfish": { "runtime_id": 289, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAAJBwBlZmZlY3RzCgMAAAADCQBhbXBsaWZpZXIBAAAABQYAY2hhbmNlAACAPwgNAGRlc2NyaXB0aW9uSWQNAHBvdGlvbi5wb2lzb24DCABkdXJhdGlvbjwAAAADAgBpZBMAAAAIBABuYW1lBgBwb2lzb24AAwkAYW1wbGlmaWVyAAAAAAUGAGNoYW5jZQAAgD8IDQBkZXNjcmlwdGlvbklkEABwb3Rpb24uY29uZnVzaW9uAwgAZHVyYXRpb24PAAAAAwIAaWQJAAAACAQAbmFtZQYAbmF1c2VhAAMJAGFtcGxpZmllcgIAAAAFBgBjaGFuY2UAAIA\/CA0AZGVzY3JpcHRpb25JZA0AcG90aW9uLmh1bmdlcgMIAGR1cmF0aW9uDwAAAAMCAGlkEQAAAAgEAG5hbWUGAGh1bmdlcgADCQBudXRyaXRpb24BAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzMw9CBEAdXNpbmdfY29udmVydHNfdG8AAAABGQBtaW5lY3JhZnQ6c3RhY2tlZF9ieV9kYXRhAQMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:pufferfish_bucket": { "runtime_id": 392, @@ -6612,12 +6663,14 @@ "minecraft:pumpkin_pie": { "runtime_id": 306, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24IAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:pumpkin_seeds": { "runtime_id": 314, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpzZWVkCAsAY3JvcF9yZXN1bHQWAG1pbmVjcmFmdDpwdW1wa2luX3N0ZW0JCABwbGFudF9hdAgBAAAAEgBtaW5lY3JhZnQ6ZmFybWxhbmQBGgBwbGFudF9hdF9hbnlfc29saWRfc3VyZmFjZQAIDQBwbGFudF9hdF9mYWNlAgB1cAAAAA==" }, "minecraft:pumpkin_stem": { "runtime_id": 104, @@ -6627,7 +6680,8 @@ "minecraft:purple_bundle": { "runtime_id": 260, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdA0AYnVuZGxlX3B1cnBsZQAABQwAbWluaW5nX3NwZWVkAACAPwEOAHNob3VsZF9kZXNwYXduAQEPAHN0YWNrZWRfYnlfZGF0YQADDQB1c2VfYW5pbWF0aW9uAAAAAAMMAHVzZV9kdXJhdGlvbgAAAAAACQkAaXRlbV90YWdzAAAAAAAKHABtaW5lY3JhZnQ6YnVuZGxlX2ludGVyYWN0aW9uAxIAbnVtX3ZpZXdhYmxlX3Nsb3RzDAAAAAAKGABtaW5lY3JhZnQ6bWF4X3N0YWNrX3NpemUBBQB2YWx1ZQEAChYAbWluZWNyYWZ0OnN0b3JhZ2VfaXRlbQEaAGFsbG93X25lc3RlZF9zdG9yYWdlX2l0ZW1zAQkNAGFsbG93ZWRfaXRlbXMAAAAAAAkMAGJhbm5lZF9pdGVtcwoCAAAACAQAbmFtZRUAbWluZWNyYWZ0OnNodWxrZXJfYm94AAgEAG5hbWUcAG1pbmVjcmFmdDp1bmR5ZWRfc2h1bGtlcl9ib3gAAwkAbWF4X3Nsb3RzQAAAAAAKHgBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbGltaXQDEABtYXhfd2VpZ2h0X2xpbWl0QAAAAAAKIQBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbW9kaWZpZXIDFgB3ZWlnaHRfaW5fc3RvcmFnZV9pdGVtBAAAAAAAAA==" }, "minecraft:purple_candle": { "runtime_id": -423, @@ -6757,7 +6811,8 @@ "minecraft:rabbit": { "runtime_id": 310, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24DAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAADFgBtaW5lY3JhZnQ6dXNlX2R1cmF0aW9uIAAAAAAA" }, "minecraft:rabbit_foot": { "runtime_id": 561, @@ -6777,7 +6832,8 @@ "minecraft:rabbit_stew": { "runtime_id": 312, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24KAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8EAGJvd2wAAxgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQAAAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:rail": { "runtime_id": 66, @@ -6837,7 +6893,8 @@ "minecraft:red_bundle": { "runtime_id": 265, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAoAYnVuZGxlX3JlZAAABQwAbWluaW5nX3NwZWVkAACAPwEOAHNob3VsZF9kZXNwYXduAQEPAHN0YWNrZWRfYnlfZGF0YQADDQB1c2VfYW5pbWF0aW9uAAAAAAMMAHVzZV9kdXJhdGlvbgAAAAAACQkAaXRlbV90YWdzAAAAAAAKHABtaW5lY3JhZnQ6YnVuZGxlX2ludGVyYWN0aW9uAxIAbnVtX3ZpZXdhYmxlX3Nsb3RzDAAAAAAKGABtaW5lY3JhZnQ6bWF4X3N0YWNrX3NpemUBBQB2YWx1ZQEAChYAbWluZWNyYWZ0OnN0b3JhZ2VfaXRlbQEaAGFsbG93X25lc3RlZF9zdG9yYWdlX2l0ZW1zAQkNAGFsbG93ZWRfaXRlbXMAAAAAAAkMAGJhbm5lZF9pdGVtcwoCAAAACAQAbmFtZRUAbWluZWNyYWZ0OnNodWxrZXJfYm94AAgEAG5hbWUcAG1pbmVjcmFmdDp1bmR5ZWRfc2h1bGtlcl9ib3gAAwkAbWF4X3Nsb3RzQAAAAAAKHgBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbGltaXQDEABtYXhfd2VpZ2h0X2xpbWl0QAAAAAAKIQBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbW9kaWZpZXIDFgB3ZWlnaHRfaW5fc3RvcmFnZV9pdGVtBAAAAAAAAA==" }, "minecraft:red_candle": { "runtime_id": -427, @@ -7082,7 +7139,8 @@ "minecraft:rotten_flesh": { "runtime_id": 299, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAAJBwBlZmZlY3RzCgEAAAADCQBhbXBsaWZpZXIAAAAABQYAY2hhbmNlzcxMPwgNAGRlc2NyaXB0aW9uSWQNAHBvdGlvbi5odW5nZXIDCABkdXJhdGlvbh4AAAADAgBpZBEAAAAIBABuYW1lBgBodW5nZXIAAwkAbnV0cml0aW9uBAAAAAMNAG9uX3VzZV9hY3Rpb27\/\/\/\/\/CQwAb25fdXNlX3JhbmdlBQMAAAAAAABBAAAAQQAAAEEFEwBzYXR1cmF0aW9uX21vZGlmaWVyzczMPQgRAHVzaW5nX2NvbnZlcnRzX3RvAAAAAxYAbWluZWNyYWZ0OnVzZV9kdXJhdGlvbiAAAAAAAA==" }, "minecraft:saddle": { "runtime_id": 396, @@ -7092,7 +7150,8 @@ "minecraft:salmon": { "runtime_id": 287, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24CAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzMw9CBEAdXNpbmdfY29udmVydHNfdG8AAAABGQBtaW5lY3JhZnQ6c3RhY2tlZF9ieV9kYXRhAQMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:salmon_bucket": { "runtime_id": 390, @@ -7492,7 +7551,8 @@ "minecraft:spider_eye": { "runtime_id": 300, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAAJBwBlZmZlY3RzCgEAAAADCQBhbXBsaWZpZXIAAAAABQYAY2hhbmNlAACAPwgNAGRlc2NyaXB0aW9uSWQNAHBvdGlvbi5wb2lzb24DCABkdXJhdGlvbgUAAAADAgBpZBMAAAAIBABuYW1lBgBwb2lzb24AAwkAbnV0cml0aW9uAgAAAAMNAG9uX3VzZV9hY3Rpb27\/\/\/\/\/CQwAb25fdXNlX3JhbmdlBQMAAAAAAABBAAAAQQAAAEEFEwBzYXR1cmF0aW9uX21vZGlmaWVyzcxMPwgRAHVzaW5nX2NvbnZlcnRzX3RvAAAAAxYAbWluZWNyYWZ0OnVzZV9kdXJhdGlvbiAAAAAAAA==" }, "minecraft:spider_spawn_egg": { "runtime_id": 473, @@ -7942,12 +8002,14 @@ "minecraft:suspicious_stew": { "runtime_id": 625, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQBAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24GAAAAAw0Ab25fdXNlX2FjdGlvbgEAAAAJDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamRk\/CBEAdXNpbmdfY29udmVydHNfdG8EAGJvd2wAAxgAbWluZWNyYWZ0Om1heF9zdGFja19zaXplAQAAAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:sweet_berries": { "runtime_id": 309, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24CAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXKamZk+CBEAdXNpbmdfY29udmVydHNfdG8AAAAKDgBtaW5lY3JhZnQ6c2VlZAgLAGNyb3BfcmVzdWx0GgBtaW5lY3JhZnQ6c3dlZXRfYmVycnlfYnVzaAkIAHBsYW50X2F0CAoAAAAIAGZhcm1sYW5kBQBncmFzcwQAZGlydAsAY29hcnNlX2RpcnQGAHBvZHpvbAoAbW9zc19ibG9jawgAbXljZWxpdW0DAG11ZBQAbXVkZHlfbWFuZ3JvdmVfcm9vdHMPAGRpcnRfd2l0aF9yb290cwEaAHBsYW50X2F0X2FueV9zb2xpZF9zdXJmYWNlAAgNAHBsYW50X2F0X2ZhY2UCAHVwAAMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:sweet_berry_bush": { "runtime_id": -207, @@ -8017,7 +8079,8 @@ "minecraft:torchflower_seeds": { "runtime_id": 318, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpzZWVkCAsAY3JvcF9yZXN1bHQaAG1pbmVjcmFmdDp0b3JjaGZsb3dlcl9jcm9wCQgAcGxhbnRfYXQIAQAAABIAbWluZWNyYWZ0OmZhcm1sYW5kARoAcGxhbnRfYXRfYW55X3NvbGlkX3N1cmZhY2UACA0AcGxhbnRfYXRfZmFjZQIAdXAAAAA=" }, "minecraft:totem_of_undying": { "runtime_id": 601, @@ -8042,7 +8105,8 @@ "minecraft:trial_key": { "runtime_id": 275, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5BAAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZUAAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAkAdHJpYWxfa2V5AAAFDABtaW5pbmdfc3BlZWQAAIA\/AQ4Ac2hvdWxkX2Rlc3Bhd24BAQ8Ac3RhY2tlZF9ieV9kYXRhAAMNAHVzZV9hbmltYXRpb24AAAAAAwwAdXNlX2R1cmF0aW9uAAAAAAAJCQBpdGVtX3RhZ3MAAAAAAAoWAG1pbmVjcmFmdDpkaXNwbGF5X25hbWUIBQB2YWx1ZRMAaXRlbS50cmlhbF9rZXkubmFtZQAAAA==" }, "minecraft:trial_spawner": { "runtime_id": -315, @@ -8067,7 +8131,8 @@ "minecraft:tropical_fish": { "runtime_id": 288, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpmb29kAQ4AY2FuX2Fsd2F5c19lYXQAAw0AY29vbGRvd25fdGltZQAAAAAIDQBjb29sZG93bl90eXBlAAADCQBudXRyaXRpb24BAAAAAw0Ab25fdXNlX2FjdGlvbv\/\/\/\/8JDABvbl91c2VfcmFuZ2UFAwAAAAAAAEEAAABBAAAAQQUTAHNhdHVyYXRpb25fbW9kaWZpZXLNzMw9CBEAdXNpbmdfY29udmVydHNfdG8AAAABGQBtaW5lY3JhZnQ6c3RhY2tlZF9ieV9kYXRhAQMWAG1pbmVjcmFmdDp1c2VfZHVyYXRpb24gAAAAAAA=" }, "minecraft:tropical_fish_bucket": { "runtime_id": 391, @@ -8667,12 +8732,14 @@ "minecraft:wheat_seeds": { "runtime_id": 313, "component_based": false, - "version": 0 + "version": 0, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoOAG1pbmVjcmFmdDpzZWVkCAsAY3JvcF9yZXN1bHQPAG1pbmVjcmFmdDp3aGVhdAkIAHBsYW50X2F0CAEAAAASAG1pbmVjcmFmdDpmYXJtbGFuZAEaAHBsYW50X2F0X2FueV9zb2xpZF9zdXJmYWNlAAgNAHBsYW50X2F0X2ZhY2UCAHVwAAAA" }, "minecraft:white_bundle": { "runtime_id": 262, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAwAYnVuZGxlX3doaXRlAAAFDABtaW5pbmdfc3BlZWQAAIA\/AQ4Ac2hvdWxkX2Rlc3Bhd24BAQ8Ac3RhY2tlZF9ieV9kYXRhAAMNAHVzZV9hbmltYXRpb24AAAAAAwwAdXNlX2R1cmF0aW9uAAAAAAAJCQBpdGVtX3RhZ3MAAAAAAAocAG1pbmVjcmFmdDpidW5kbGVfaW50ZXJhY3Rpb24DEgBudW1fdmlld2FibGVfc2xvdHMMAAAAAAoYAG1pbmVjcmFmdDptYXhfc3RhY2tfc2l6ZQEFAHZhbHVlAQAKFgBtaW5lY3JhZnQ6c3RvcmFnZV9pdGVtARoAYWxsb3dfbmVzdGVkX3N0b3JhZ2VfaXRlbXMBCQ0AYWxsb3dlZF9pdGVtcwAAAAAACQwAYmFubmVkX2l0ZW1zCgIAAAAIBABuYW1lFQBtaW5lY3JhZnQ6c2h1bGtlcl9ib3gACAQAbmFtZRwAbWluZWNyYWZ0OnVuZHllZF9zaHVsa2VyX2JveAADCQBtYXhfc2xvdHNAAAAAAAoeAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9saW1pdAMQAG1heF93ZWlnaHRfbGltaXRAAAAAAAohAG1pbmVjcmFmdDpzdG9yYWdlX3dlaWdodF9tb2RpZmllcgMWAHdlaWdodF9pbl9zdG9yYWdlX2l0ZW0EAAAAAAAA" }, "minecraft:white_candle": { "runtime_id": -413, @@ -8747,7 +8814,8 @@ "minecraft:wind_charge": { "runtime_id": 277, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZUAAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdAsAd2luZF9jaGFyZ2UAAAUMAG1pbmluZ19zcGVlZAAAgD8BDgBzaG91bGRfZGVzcGF3bgEBDwBzdGFja2VkX2J5X2RhdGEAAw0AdXNlX2FuaW1hdGlvbgAAAAADDAB1c2VfZHVyYXRpb24AAAAAAAkJAGl0ZW1fdGFncwAAAAAAChIAbWluZWNyYWZ0OmNvb2xkb3duCAgAY2F0ZWdvcnkLAHdpbmRfY2hhcmdlBQgAZHVyYXRpb24AAAA\/AAoWAG1pbmVjcmFmdDpkaXNwbGF5X25hbWUIBQB2YWx1ZRUAaXRlbS53aW5kX2NoYXJnZS5uYW1lAAoUAG1pbmVjcmFmdDpwcm9qZWN0aWxlBRYAbWluaW11bV9jcml0aWNhbF9wb3dlcgAAAAAIEQBwcm9qZWN0aWxlX2VudGl0eSIAbWluZWNyYWZ0OndpbmRfY2hhcmdlX3Byb2plY3RpbGU8PgAKEwBtaW5lY3JhZnQ6dGhyb3dhYmxlARIAZG9fc3dpbmdfYW5pbWF0aW9uAQUSAGxhdW5jaF9wb3dlcl9zY2FsZQAAwD8FEQBtYXhfZHJhd19kdXJhdGlvbgAAAAAFEABtYXhfbGF1bmNoX3Bvd2VyAADAPwURAG1pbl9kcmF3X2R1cmF0aW9uAAAAAAEcAHNjYWxlX3Bvd2VyX2J5X2RyYXdfZHVyYXRpb24AAAAA" }, "minecraft:witch_spawn_egg": { "runtime_id": 479, @@ -8852,7 +8920,8 @@ "minecraft:yellow_bundle": { "runtime_id": 269, "component_based": true, - "version": 1 + "version": 1, + "component_nbt": "CgAACgoAY29tcG9uZW50cwoPAGl0ZW1fcHJvcGVydGllcwEOAGFsbG93X29mZl9oYW5kAAEXAGNhbl9kZXN0cm95X2luX2NyZWF0aXZlAQMRAGNyZWF0aXZlX2NhdGVnb3J5AwAAAAgOAGNyZWF0aXZlX2dyb3VwAAADBgBkYW1hZ2UAAAAACBAAZW5jaGFudGFibGVfc2xvdAQAbm9uZQMRAGVuY2hhbnRhYmxlX3ZhbHVlAAAAAAEEAGZvaWwAAwsAZnJhbWVfY291bnQBAAAAAQ0AaGFuZF9lcXVpcHBlZAABDgBsaXF1aWRfY2xpcHBlZAADDgBtYXhfc3RhY2tfc2l6ZQEAAAAKDgBtaW5lY3JhZnQ6aWNvbgoIAHRleHR1cmVzCAcAZGVmYXVsdA0AYnVuZGxlX3llbGxvdwAABQwAbWluaW5nX3NwZWVkAACAPwEOAHNob3VsZF9kZXNwYXduAQEPAHN0YWNrZWRfYnlfZGF0YQADDQB1c2VfYW5pbWF0aW9uAAAAAAMMAHVzZV9kdXJhdGlvbgAAAAAACQkAaXRlbV90YWdzAAAAAAAKHABtaW5lY3JhZnQ6YnVuZGxlX2ludGVyYWN0aW9uAxIAbnVtX3ZpZXdhYmxlX3Nsb3RzDAAAAAAKGABtaW5lY3JhZnQ6bWF4X3N0YWNrX3NpemUBBQB2YWx1ZQEAChYAbWluZWNyYWZ0OnN0b3JhZ2VfaXRlbQEaAGFsbG93X25lc3RlZF9zdG9yYWdlX2l0ZW1zAQkNAGFsbG93ZWRfaXRlbXMAAAAAAAkMAGJhbm5lZF9pdGVtcwoCAAAACAQAbmFtZRUAbWluZWNyYWZ0OnNodWxrZXJfYm94AAgEAG5hbWUcAG1pbmVjcmFmdDp1bmR5ZWRfc2h1bGtlcl9ib3gAAwkAbWF4X3Nsb3RzQAAAAAAKHgBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbGltaXQDEABtYXhfd2VpZ2h0X2xpbWl0QAAAAAAKIQBtaW5lY3JhZnQ6c3RvcmFnZV93ZWlnaHRfbW9kaWZpZXIDFgB3ZWlnaHRfaW5fc3RvcmFnZV9pdGVtBAAAAAAAAA==" }, "minecraft:yellow_candle": { "runtime_id": -417, diff --git a/legacyver/item_translator.go b/legacyver/item_translator.go index 1daa5d6..813c22e 100644 --- a/legacyver/item_translator.go +++ b/legacyver/item_translator.go @@ -580,19 +580,11 @@ func (t *DefaultItemTranslator) DowngradeItemEntries(entries []proto.ItemEntry) entry.RuntimeID = int16(itemType.NetworkID) var ok bool - if entry.Name, ok = t.mapping.ItemRuntimeIDToName(int32(entry.RuntimeID)); !ok { - panic(entry) - } - entryVer, ok := t.mapping.ItemRuntimeIDToVersion(int32(entry.RuntimeID)) - if ok { - entry.Version = int32(entryVer) - } - entryData, ok := t.mapping.ItemRuntimeIDToData(int32(entry.RuntimeID)) - if ok { - entry.Data = entryData + if entry.Name, ok = t.mapping.ItemRuntimeIDToName(itemType.NetworkID); !ok { + panic(itemType) } } else { - t.latest.RegisterEntryRID(entry.Name, int32(entry.RuntimeID), 2, entry.Data) + t.latest.RegisterEntryRID(entry.Name, int32(entry.RuntimeID), 2, nil) entry.RuntimeID = int16(t.mapping.RegisterEntry(entry.Name)) } entries[i] = entry @@ -618,21 +610,11 @@ func (t *DefaultItemTranslator) UpgradeItemEntries(entries []proto.ItemEntry) [] entry.RuntimeID = int16(itemType.NetworkID) var ok bool - if entry.Name, ok = t.latest.ItemRuntimeIDToName(int32(entry.RuntimeID)); !ok { - panic(entry) - } - - entryVer, ok := t.mapping.ItemRuntimeIDToVersion(int32(entry.RuntimeID)) - if ok { - entry.Version = int32(entryVer) - } - - entryData, ok := t.mapping.ItemRuntimeIDToData(int32(entry.RuntimeID)) - if ok { - entry.Data = entryData + if entry.Name, ok = t.latest.ItemRuntimeIDToName(itemType.NetworkID); !ok { + panic(itemType) } } else { - t.latest.RegisterEntryRID(entry.Name, int32(entry.RuntimeID), 2, entry.Data) + t.latest.RegisterEntryRID(entry.Name, int32(entry.RuntimeID), 2, nil) entry.RuntimeID = int16(t.mapping.RegisterEntry(entry.Name)) } entries[i] = entry diff --git a/legacyver/protocol.go b/legacyver/protocol.go index c9c9899..0863e3b 100644 --- a/legacyver/protocol.go +++ b/legacyver/protocol.go @@ -3,9 +3,11 @@ package legacyver import ( "github.com/akmalfairuz/legacy-version/legacyver/legacypacket" "github.com/akmalfairuz/legacy-version/legacyver/proto" + "github.com/samber/lo" "github.com/sandertv/gophertunnel/minecraft" "github.com/sandertv/gophertunnel/minecraft/protocol" "github.com/sandertv/gophertunnel/minecraft/protocol/packet" + "strings" ) var ( @@ -568,10 +570,19 @@ func (p *Protocol) downgradePackets(pks []packet.Packet, conn *minecraft.Conn) [ items = p.itemTranslator.DowngradeItemEntries(items) + if p.ID() < proto.ID776 { + items = lo.Filter(items, func(item proto.ItemEntry, index int) bool { + return !strings.HasPrefix(item.Name, "minecraft:") && item.ComponentBased + }) // only custom items here + + if len(items) < 1 { + return []packet.Packet{} + } + } + pks[pkIndex] = &legacypacket.ItemRegistry{ Items: items, } - return []packet.Packet{} case *packet.StructureBlockUpdate: pks[pkIndex] = &legacypacket.StructureBlockUpdate{ Position: pk.Position, diff --git a/legacyver/v671.go b/legacyver/v671.go index 9ed3091..8e4542c 100644 --- a/legacyver/v671.go +++ b/legacyver/v671.go @@ -15,8 +15,6 @@ const ( ) var ( - //go:embed data/item_runtime_ids_671.nbt - itemRuntimeIDData671 []byte //go:embed data/required_item_list_671.json requiredItemList671 []byte //go:embed data/block_states_671.nbt @@ -25,7 +23,7 @@ var ( // New671 ... func New671() *Protocol { - itemMapping := mapping.NewItemMapping(itemRuntimeIDData671, requiredItemList671, ItemVersion671, false) + itemMapping := mapping.NewItemMapping(requiredItemList671, ItemVersion671) blockMapping := mapping.NewBlockMapping(blockStateData671) return &Protocol{ diff --git a/legacyver/v685.go b/legacyver/v685.go index 8447ca8..3d7ea73 100644 --- a/legacyver/v685.go +++ b/legacyver/v685.go @@ -16,7 +16,7 @@ const ( // New685 uses same data as 686 func New685() *Protocol { - itemMapping := mapping.NewItemMapping(itemRuntimeIDData686, requiredItemList686, ItemVersion685, false) + itemMapping := mapping.NewItemMapping(requiredItemList686, ItemVersion685) blockMapping := mapping.NewBlockMapping(blockStateData686) return &Protocol{ diff --git a/legacyver/v686.go b/legacyver/v686.go index a5ac3d0..8b72260 100644 --- a/legacyver/v686.go +++ b/legacyver/v686.go @@ -15,8 +15,6 @@ const ( ) var ( - //go:embed data/item_runtime_ids_686.nbt - itemRuntimeIDData686 []byte //go:embed data/required_item_list_686.json requiredItemList686 []byte //go:embed data/block_states_686.nbt @@ -24,7 +22,7 @@ var ( ) func New686() *Protocol { - itemMapping := mapping.NewItemMapping(itemRuntimeIDData686, requiredItemList686, ItemVersion686, false) + itemMapping := mapping.NewItemMapping(requiredItemList686, ItemVersion686) blockMapping := mapping.NewBlockMapping(blockStateData686) return &Protocol{ diff --git a/legacyver/v712.go b/legacyver/v712.go index 54146ea..a62a7d8 100644 --- a/legacyver/v712.go +++ b/legacyver/v712.go @@ -15,8 +15,6 @@ const ( ) var ( - //go:embed data/item_runtime_ids_712.nbt - itemRuntimeIDData712 []byte //go:embed data/required_item_list_712.json requiredItemList712 []byte //go:embed data/block_states_712.nbt @@ -24,7 +22,7 @@ var ( ) func New712() *Protocol { - itemMapping := mapping.NewItemMapping(itemRuntimeIDData712, requiredItemList712, ItemVersion712, false) + itemMapping := mapping.NewItemMapping(requiredItemList712, ItemVersion712) blockMapping := mapping.NewBlockMapping(blockStateData712) return &Protocol{ diff --git a/legacyver/v729.go b/legacyver/v729.go index 4333361..82a87e3 100644 --- a/legacyver/v729.go +++ b/legacyver/v729.go @@ -15,8 +15,6 @@ const ( ) var ( - //go:embed data/item_runtime_ids_729.nbt - itemRuntimeIDData729 []byte //go:embed data/required_item_list_729.json requiredItemList729 []byte //go:embed data/block_states_729.nbt @@ -24,7 +22,7 @@ var ( ) func New729() *Protocol { - itemMapping := mapping.NewItemMapping(itemRuntimeIDData729, requiredItemList729, ItemVersion729, false) + itemMapping := mapping.NewItemMapping(requiredItemList729, ItemVersion729) blockMapping := mapping.NewBlockMapping(blockStateData729) return &Protocol{ diff --git a/legacyver/v748.go b/legacyver/v748.go index a3d8d2f..9ceefd6 100644 --- a/legacyver/v748.go +++ b/legacyver/v748.go @@ -15,8 +15,6 @@ const ( ) var ( - //go:embed data/item_runtime_ids_748.nbt - itemRuntimeIDData748 []byte //go:embed data/required_item_list_748.json requiredItemList748 []byte //go:embed data/block_states_748.nbt @@ -24,7 +22,7 @@ var ( ) func New748() *Protocol { - itemMapping := mapping.NewItemMapping(itemRuntimeIDData748, requiredItemList748, ItemVersion748, false) + itemMapping := mapping.NewItemMapping(requiredItemList748, ItemVersion748) blockMapping := mapping.NewBlockMapping(blockStateData748) return &Protocol{ diff --git a/legacyver/v766.go b/legacyver/v766.go index e2df9ba..23e2580 100644 --- a/legacyver/v766.go +++ b/legacyver/v766.go @@ -15,14 +15,12 @@ const ( ) var ( - //go:embed data/item_runtime_ids_766.nbt - itemRuntimeIDData766 []byte //go:embed data/required_item_list_766.json requiredItemList766 []byte //go:embed data/block_states_766.nbt blockStateData766 []byte - itemMapping766 = mapping.NewItemMapping(itemRuntimeIDData766, requiredItemList766, ItemVersion766, false) + itemMapping766 = mapping.NewItemMapping(requiredItemList766, ItemVersion766) blockMapping766 = mapping.NewBlockMapping(blockStateData766) ) diff --git a/legacyver/v776.go b/legacyver/v776.go index 3472c04..bca0be5 100644 --- a/legacyver/v776.go +++ b/legacyver/v776.go @@ -15,14 +15,12 @@ const ( ) var ( - //go:embed data/item_runtime_ids_776.nbt - itemRuntimeIDData776 []byte //go:embed data/required_item_list_776.json requiredItemList776 []byte //go:embed data/block_states_776.nbt blockStateData776 []byte - itemMapping776 = mapping.NewItemMapping(itemRuntimeIDData776, requiredItemList776, ItemVersion776, false) + itemMapping776 = mapping.NewItemMapping(requiredItemList776, ItemVersion776) blockMapping776 = mapping.NewBlockMapping(blockStateData776) ) diff --git a/legacyver/v786.go b/legacyver/v786.go index 96dae3b..415a62d 100644 --- a/legacyver/v786.go +++ b/legacyver/v786.go @@ -13,13 +13,11 @@ const ( ) var ( - //go:embed data/item_runtime_ids_786.nbt - itemRuntimeIDData786 []byte //go:embed data/required_item_list_786.json requiredItemList786 []byte //go:embed data/block_states_786.nbt blockStateData786 []byte - itemMappingLatest = mapping.NewItemMapping(itemRuntimeIDData786, requiredItemList786, ItemVersion786, false) + itemMappingLatest = mapping.NewItemMapping(requiredItemList786, ItemVersion786) blockMappingLatest = mapping.NewBlockMapping(blockStateData786) ) diff --git a/mapping/item.go b/mapping/item.go index 81ec09b..6ea3dd1 100644 --- a/mapping/item.go +++ b/mapping/item.go @@ -1,6 +1,7 @@ package mapping import ( + "encoding/base64" "encoding/json" "github.com/sandertv/gophertunnel/minecraft/nbt" "sync" @@ -19,6 +20,15 @@ type Item interface { RegisterEntryRID(string, int32, uint8, map[string]any) Air() int32 ItemVersion() uint16 + ItemEntries() []ItemEntry +} + +type ItemEntry struct { + Name string + RuntimeID int16 + ComponentBased bool + Version uint8 + Data map[string]any } type DefaultItemMapping struct { @@ -31,62 +41,66 @@ type DefaultItemMapping struct { itemRuntimeIDToVersion map[int32]uint8 // itemRuntimeIDToData holds a map to translate item runtime IDs to data. itemRuntimeIDToData map[int32]map[string]any - airRID int32 - itemVersion uint16 + // itemEntries holds a map to translate item string IDs to runtime IDs. + itemEntries []ItemEntry + airRID int32 + itemVersion uint16 } -func NewItemMapping(itemRuntimeIDData []byte, requiredItemList []byte, itemVersion uint16, direct bool) *DefaultItemMapping { +func NewItemMapping(requiredItemList []byte, itemVersion uint16) *DefaultItemMapping { itemRuntimeIDsToNames := make(map[int32]string) itemNamesToRuntimeIDs := make(map[string]int32) itemRuntimeIDToVersion := make(map[int32]uint8) itemRuntimeIDToData := make(map[int32]map[string]any) + itemEntries := make([]ItemEntry, 0, 1600) var airRID *int32 - if direct { - var items map[string]int32 - if err := nbt.Unmarshal(itemRuntimeIDData, &items); err != nil { - panic(err) + var m map[string]struct { + RuntimeID int16 `json:"runtime_id"` + ComponentBased bool `json:"component_based"` + Version *uint8 `json:"version"` + Data string `json:"component_nbt,omitempty"` + } + if err := json.Unmarshal(requiredItemList, &m); err != nil { + panic(err) + } + for name, data := range m { + rid := int32(data.RuntimeID) + if name == "minecraft:air" { + airRID = &rid } - for name, rid := range items { - if name == "minecraft:air" { - airRID = &rid - } - itemNamesToRuntimeIDs[name] = rid - itemRuntimeIDsToNames[rid] = name + entry := ItemEntry{ + Name: name, + RuntimeID: data.RuntimeID, + ComponentBased: data.ComponentBased, } - } else { - var m map[string]struct { - RuntimeID int16 `json:"runtime_id"` - ComponentBased bool `json:"component_based"` - Version *uint8 `json:"version"` - Data map[string]any `json:"data,omitempty"` + itemNamesToRuntimeIDs[name] = rid + itemRuntimeIDsToNames[rid] = name + if data.Version != nil { + itemRuntimeIDToVersion[rid] = *data.Version + entry.Version = *data.Version } - if err := json.Unmarshal(requiredItemList, &m); err != nil { - panic(err) - } - for name, data := range m { - rid := int32(data.RuntimeID) - if name == "minecraft:air" { - airRID = &rid + if data.Data != "" { + var nbtData map[string]any + nbtBytes, err := base64.StdEncoding.DecodeString(data.Data) + if err != nil { + panic(err) } - - itemNamesToRuntimeIDs[name] = rid - itemRuntimeIDsToNames[rid] = name - if data.Version != nil { - itemRuntimeIDToVersion[rid] = *data.Version - } - if data.Data != nil { - itemRuntimeIDToData[rid] = data.Data + if err := nbt.Unmarshal(nbtBytes, &nbtData); err != nil { + panic(err) } + itemRuntimeIDToData[rid] = nbtData + entry.Data = nbtData } + itemEntries = append(itemEntries, entry) } if airRID == nil { panic("couldn't find air") } - return &DefaultItemMapping{itemRuntimeIDsToNames: itemRuntimeIDsToNames, itemNamesToRuntimeIDs: itemNamesToRuntimeIDs, itemRuntimeIDToVersion: itemRuntimeIDToVersion, airRID: *airRID, itemVersion: itemVersion, itemRuntimeIDToData: itemRuntimeIDToData} + return &DefaultItemMapping{itemRuntimeIDsToNames: itemRuntimeIDsToNames, itemNamesToRuntimeIDs: itemNamesToRuntimeIDs, itemRuntimeIDToVersion: itemRuntimeIDToVersion, airRID: *airRID, itemVersion: itemVersion, itemRuntimeIDToData: itemRuntimeIDToData, itemEntries: itemEntries} } func (m *DefaultItemMapping) ItemRuntimeIDToName(runtimeID int32) (name string, found bool) { @@ -153,3 +167,11 @@ func (m *DefaultItemMapping) ItemVersion() uint16 { m.mu.Lock() return m.itemVersion } + +func (m *DefaultItemMapping) ItemEntries() []ItemEntry { + defer m.mu.Unlock() + m.mu.Lock() + entries := make([]ItemEntry, len(m.itemEntries)) + copy(entries, m.itemEntries) + return entries +}